nativeLibraryDir отображается пустым после обновления до Gradle 5.6.4 и Android Studio 3.6.1 - PullRequest
0 голосов
/ 03 марта 2020

Похоже, что мои библиотеки больше не существуют в nativeLibraryDir после обновления Gradle с 5.4.1 до 5.6.4 и Android Studio с 3.5.3 до 3.6.1. Моя текущая реализация для доступа к моим библиотекам выглядит следующим образом:

File libDirectory = new File(context.getApplicationInfo().nativeLibraryDir);
String files[] = libDirectory.list();

Перед обновлением я могу отладить и увидеть, что массив 'files' содержит список всех моих библиотек, как и ожидалось. После обновления массив 'files' выглядит пустым.

Я проанализировал мой APK и подтвердил, что в пакете есть библиотеки.

Неправильно ли я получаю путь? Есть ли необходимые разрешения, о которых я не знаю? Я использую CMake для сборки своих библиотек:

externalNativeBuild {
    cmake {
        path '../../../common/CMakeLists.txt'
    }
}

Использование NDK версии 21.0.6113669

Обновление: возврат к NDK r19 c приводит к тем же результатам

Обновление : libDirectory разрешается в / data / app / com.example.application-1 / lib / arm до и после обновления

Обновление: установка android.useNewApkCreator=false в gradle.properties производит тот же результат

Обновление: с помощью обозревателя файлов устройств я могу просматривать библиотеки в папке lib / arm / до обновления. После обновления папка lib / arm / остается того же размера (4 КБ), но я больше не могу просматривать содержимое в папке. Права доступа к папкам остаются неизменными.

1 Ответ

0 голосов
/ 06 марта 2020

используйте эту версию

dependencies {
    classpath 'com.android.tools.build:gradle:3.6.0'

}

с Gradle 5.6.4

...