Как скомпилировать нативную библиотеку для armv8? - PullRequest
0 голосов
/ 28 ноября 2018

Я собираю разделенные apk для четырех архитектур x86, x86_64, armeabi-v7a и arm64-v8a.Приложение работает нормально и прекрасно загружает нативные библиотеки на большинстве устройств.но на некоторых устройствах возникает ошибка, что не удается найти папку mylibrary.so .in armv8 или в папке arm.Вот мой код для генерации сплит apk и генерирует Unsatisfied Link Error

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.
            reset()

            // Specifies a list of ABIs that Gradle should create APKs for.
            include "x86", "x86_64", "armeabi-v7a", "arm64-v8a"

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



    def abiCodes = ['x86':0, 'x86_64':1, 'armeabi-v7a':2, 'arm64-v8a':3]
    android.applicationVariants.all { variant ->
        // Assigns a different version code for each output APK.
        variant.outputs.each {
            output ->
                def abiName = output.getFilter(OutputFile.ABI)
                output.versionCodeOverride = abiCodes.get(abiName, 0) + variant.versionCode
        }
    }

, когда я анализирую apk, я успешно получаю необходимые нативные libs в apk arm64-v8a в папке libs и в папке libs всех других apk.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...