2015-07-02 1 views
13

Я хочу сделать разбиение APK на основе CPU ABI в соответствии с http://tools.android.com/tech-docs/new-build-system/user-guide/apk-splits, однако я хочу разделить APK только на определенный вкус продукта.При использовании CPU ABI split в build.gradle не учитываются вкусы продукта Android.

Таким образом, мой файл build.gradle имеет следующие характеристики продукта plain и market. На самом деле я хочу, чтобы раскол APK выполнялся при создании вкуса market.

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

Однако, когда я призываю gradle assemblePlainDebug и assembleMarketDebug, оба из них производит несколько APK. Что-то не так с конфигурацией выше?

Я пользуюсь com.android.tools.build:gradle:1.2.3.

+0

Я сообщил об этом как об ошибке: https://code.google.com/p/android/issues/detail?id=178606 Пока нет звезд, кроме меня. Пожалуйста, помогите сыграть главную роль в этой проблеме, если у вас возникнут те же проблемы. – yuku

ответ

8

Я искал способ сделать это некоторое время и не нашел твердого решения. Что-то делать с расколами, которые нужно запустить, прежде чем разрешать buildTypes и productFlavors.

Android Gradle - is use splits only for release possible? вопрос ответ, что подумал, что это полезно. Он в основном полагается на свойство проекта, переданное при построении через командную строку или непрерывную интеграцию, для настройки погоды, когда включена опция split apk.

Я использовал это следующим образом:

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

, а затем в зависимости от того, какой falvour или построить тип вы строите вы можете включать в себя:

./gradlew --project-prop splitApk assembleMarketDebug 

Это должно затем включить только раскол АПК при явном сказал тоже и должен оставаться инвалидом для всего остального.

+0

Спасибо за решение, оно сработало. Мне нужен был аромат с модульным тестом на C++, чтобы строить только в архитектуре X86. – Dzamir

 Смежные вопросы

  • Нет связанных вопросов^_^