Похоже, что мои библиотеки больше не существуют в 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 КБ), но я больше не могу просматривать содержимое в папке. Права доступа к папкам остаются неизменными.