Генерация нескольких Apk в соответствии с собственным ABI

Я создаю APK выпуска на основе ABI из-за размера APK для публикации в Play store.

Итак, я начал сборку apk для ABI = armeabi-v7a, а затем построил ABI = x86 и ABI = areambi.

так что мой градиент выглядит так

приложение Gradle

android {
    compileSdkVersion 26
    buildToolsVersion "26.0.1"
    defaultConfig {
        applicationId "com.package"
        minSdkVersion 18
        targetSdkVersion 26
        versionCode 1
        versionName "1.0"
        multiDexEnabled true
        ndk {
            abiFilters "armeabi-v7a"
        }
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    externalNativeBuild {
        ndkBuild {
            path 'src/main/jni/Android.mk'
        }
    }
    splits {
        // Configures multiple APKs based on ABI.
        abi {
            // Enables building multiple APKs per ABI.
            enable true
            // By default all ABIs are included, so use reset() and include to specify that we only
            // want APKs for x86, armeabi-v7a, and mips.

            // Resets the list of ABIs that Gradle should create APKs for to none.
            reset()

            // Specifies a list of ABIs that Gradle should create APKs for.
            include "armeabi-v7a"

            // Specifies that we do not want to also generate a universal APK that includes all ABIs.
            universalApk false
        }
    }
}

Я понял

Итак, мой вопрос

  1. Мне нужно внести изменения в versionCode 1 для каждого ABI, поэтому, какой код версии для какого ABI мне следует использовать.

person Amjad Khan    schedule 15.11.2017    source источник


Ответы (2)


Мне нужно сделать 2 разных билда

Сборка 1: для armeabi-v7a

versionCode 21614001
splits {
    abi {
        enable true
        reset()
        include "armeabi-v7a"
        universalApk false
    }
}

Сборка 2: для x86

versionCode 61614001
splits {
    abi {
        enable true
        reset()
        include "x86"
        universalApk false
    }
}

Добавлена ​​собственная библиотека в соответствии с поддерживаемой abi.

После этого опубликованные apk Build 1 и Build 2 вместе покажут вам поддерживаемые устройства.

person Amjad Khan    schedule 24.11.2017

person    schedule
comment
Мне нужно опубликовать несколько apk с тем же именем пакета, который будет поддерживать разные abi. - person Amjad Khan; 15.11.2017