Question Les saveurs des produits Android ne sont pas prises en compte lors de l'utilisation de la division CPU ABI dans build.gradle


Je veux faire la division APK basée sur ABI CPU en fonction de http://tools.android.com/tech-docs/new-build-system/user-guide/apk-splits, cependant, je veux diviser l'APK uniquement pour une certaine saveur de produit.

Donc mon build.gradle fichier a les saveurs de produit suivantes plain et market. En fait, je veux que la partition APK soit effectuée lors de la construction market saveur.

android {
    productFlavors {
        plain {
        }
        market {
            splits {
                abi {
                    enable true
                    reset()
                    include 'armeabi', 'armeabi-v7a', 'x86', 'mips'
                    universalApk true
                }
            }
        }
    }
}

Cependant, quand j'invoque gradle assemblePlainDebug et assembleMarketDebug, les deux produisent l'APK multiple. Y a-t-il un problème avec la configuration ci-dessus?

j'utilise com.android.tools.build:gradle:1.2.3.


13
2017-07-02 09:55


origine


Réponses:


J'ai cherché un moyen de le faire pendant un moment et je n'ai pas trouvé de solution solide. Quelque chose à voir avec les fractionnements à exécuter avant de résoudre les buildTypes et productFlavors.

le Android Gradle - les fractionnements d'utilisation sont-ils possibles uniquement pour la libération? la question avait la réponse que je pensais utile. Il repose essentiellement sur une propriété de projet, transmise lors de la construction via la ligne de commande ou l'invitation à l'intégration continue, pour définir le temps que l'option apk du partage soit activée ou non.

Je l'ai utilisé comme ceci:

splits {
    abi {
        enable project.hasProperty('splitApk')
        reset()
        include 'x86', 'armeabi-v7a', 'mips', 'armeabi'
        universalApk true
    }
}

et ensuite, selon le type de construction que vous construisez, vous pouvez inclure:

./gradlew --project-prop splitApk assembleMarketDebug

Cela ne devrait alors permettre que le partage apk quand explicitement dit aussi et devrait rester désactivé pour tout le reste.


9
2017-09-23 15:21