gpt4 book ai didi

android - 更新到 Gradle 5.6.4 和 Android Studio 3.6.1 后 nativeLibraryDir 显示为空

转载 作者:行者123 更新时间:2023-12-03 04:46:11 30 4
gpt4 key购买 nike

在将 Gradle 从 5.4.1 更新到 5.6.4 并将 Android Studio 从 3.5.3 更新到 3.6.1 之后,我的库似乎不再存在于 nativeLibraryDir 中。我当前访问我的库的实现如下:

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

在更新之前,我可以调试并看到"file"数组包含我所有库的列表,如预期的那样。
更新后,"file"数组显示为空。

我已经分析了我的 APK 并确认包中确实存在这些库。

我是否以糟糕的方式检索路径?是否有我不知道的必需权限?我正在使用 CMake 构建我的库:
externalNativeBuild {
cmake {
path '../../../common/CMakeLists.txt'
}
}

使用 NDK 版本 21.0.6113669

更新:
恢复到 NDK r19c 会产生相同的结果

更新: libDirectory在更新前后解析为/data/app/com.example.application-1/lib/arm

更新:设置 android.useNewApkCreator=false在 gradle.properties 中产生相同的结果

更新:使用设备文件资源管理器,我可以在更新之前查看 lib/arm/文件夹中的库。更新后,lib/arm/文件夹大小仍然相同(4KB),但我无法再查看文件夹内的内容。文件夹权限似乎没有改变。

最佳答案

我也遇到了这个问题,终于解决了:

// AndroidManifest.xml
<application
...
android:extractNativeLibs="true"
...
>
extractNativeLibs设置为 true , so files复制到 lib/xxx文件夹。

关于android - 更新到 Gradle 5.6.4 和 Android Studio 3.6.1 后 nativeLibraryDir 显示为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60498183/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com