Android:可以写入lib目录吗?

时间:2012-07-20 15:46:37

标签: android android-ndk

是否可以在/ data / data / application_package / lib目录中以编程方式将文件复制到或创建符号链接?

当尝试写入lib目录时,我总是得到权限被拒绝错误。 我已经定义了

<uses-permission android:name="android.permission.WRITE_INTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

2 个答案:

答案 0 :(得分:3)

你不能写入lib /,但是你不需要。

您可以写入应用程序私有存储区域内的任何非保留位置,并且可以使用System.load()与您具有读取和执行权限的设备上的任何文件加载本机库。完整路径名,而不是具有短库名称的System.loadLibrary()。

外部存储(sdcard)安装了一个不可执行的标志,但私有存储目录​​中的文件将是一个可行的解决方案。只是确保它只能由你的应用程序写入,以便其他东西不能在你背后改变它(这是因为你无法保护外部存储文件免受外部存储不可执行的修改)

答案 1 :(得分:1)

如果要加载so文件,可以使用system.load();您可以将其复制到数据/包名称/库

并使用system.load()加载所以