Android 在安卓系统中放置下载的本机库的最佳位置是什么?

Android 在安卓系统中放置下载的本机库的最佳位置是什么?,android,android-ndk,Android,Android Ndk,我希望我的Android应用程序在运行时根据设备的功能下载一个.so文件(由我编译的本机库),这样apk的大小将很小,因为我不会用许多不同版本的本机库填充apk 我找不到下载这个库的正确位置。此处的首选和推荐目录在哪里,以便我可以使用System.loadLibrary函数快速安全地加载它?如果您解压缩apk,您将看到根目录中有一个文件夹lib。此目录也存在于应用程序的目录/data/data/package.name/lib中,作为指向/data/app lib/package.name的符号

我希望我的Android应用程序在运行时根据设备的功能下载一个.so文件(由我编译的本机库),这样apk的大小将很小,因为我不会用许多不同版本的本机库填充apk


我找不到下载这个库的正确位置。此处的首选和推荐目录在哪里,以便我可以使用System.loadLibrary函数快速安全地加载它?

如果您解压缩apk,您将看到根目录中有一个文件夹
lib
。此目录也存在于应用程序的目录
/data/data/package.name/lib
中,作为指向
/data/app lib/package.name
的符号链接。如果您真的想在运行时下载本机库,其中之一就是您必须将它们放在哪里

由于应用程序可以获得对自己的数据目录的写入权限,因此您应该能够在那里实际下载文件
ContextWrapper.getFilesDir()
将返回路径
/data/data/package.name
,这样您就不会硬编码它


注意这一点——单独进行本机代码更新可能会带来更多问题。如果你真的想安全,考虑一下在你的应用程序中下载和运行任意本机代码的含义。

你有没有成功的Rager的建议来做这件事?@ Joeland我最终做了多APK版本的应用程序,即使它有时是一个耗时的操作…