相关疑难解决方法(0)

Android - 仅从本机代码写入/保存文件

我正在尝试构建一个利用NativeActivityNDK设施的Android应用程序.我有以下结构:

  • 安装了一堆本机共享库/system/vendor/<company>; 我正在使用自定义构建的Android映像,因此使用具有适当权限和所有内容的库是没有问题的
  • 使用它的几个应用程序NativeActivity依次依赖于上面提到的库

安装在/ system/vendor中的库和我的应用程序使用几个配置文件.使用标准C API读取它们没有问题 fopen/fclose.但是那些库和我的应用程序还需要存储一些文件作为其操作的结果,如配置,一些运行时参数,校准数据,日志文件等.随着文件的存储,有一个小问题因为我是不允许写入/system/vendor/...(因为"/ system/..."下的文件系统是以只读方式挂载的,我不想破解它).

那么创建和存储这些文件的最佳方式是什么?哪些是最符合"Android"存储区域的?

我一直在阅读android-ndk谷歌组中的几个主题,在这里提到内部应用程序私有存储外部SD卡,但由于我没有Android的扩展经验,我不知道是什么将是正确的方法.如果该方法涉及某些特定的Android API,那么C++中的一个小代码示例将非常有用; 我已经看过几个涉及Java和JNI的例子(例如在这个SO问题中),但我现在想远离它.从C++使用本机活动的internalDataPath/externalDataPath配对(一个使它们总是为NULL的错误)似乎也存在问题 .

android android-ndk

25
推荐指数
1
解决办法
3万
查看次数

在Android Native Environment中从我自己的APK中读取资源文件

我正在移植到Android.我现有的项目有大量的资源文件,我正在移植到我的Android项目中.我把它们都放在/ res/raw /中,我想在我的本地库中使用fopen()等函数访问这些资源.可以这样做,还是我必须通过JNI呢?我真的不愿意,为了便于移植和可能的速度和记忆原因.

file-io android android-ndk

15
推荐指数
2
解决办法
1万
查看次数

使用Android NDK将文件写入SDcard以外的位置?

除了在SD卡上,还有其他方法可以在其他地方写入文件吗?

我在文件系统上尝试了很多不同的路径但是fopen总是返回NULL,除了我在/ sdcard /中写入/读取的任何文件...

还有别的东西相当于:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
Run Code Online (Sandbox Code Playgroud)

那允许你在文件系统上写一些东西?

java-native-interface storage android android-ndk

14
推荐指数
2
解决办法
3万
查看次数

如何使用NativeActivity写入内部存储文件系统?

我正在将纯C++游戏移植到Android上,由于我的目标是Android 3.0+平板电脑,我选择使用NativeActivity来完全避免使用Java.但是,我无法看到任何允许我写入设备内部存储的功能.对fopen()的调用将失败,因为我不知道我应该写哪个目录并且内部存储文件系统不可访问

这段代码通常可以解决Java问题,为我提供了应用程序内部可写数据目录的路径:

mContext.getFilesDir();
Run Code Online (Sandbox Code Playgroud)

有人知道C++的替代品吗?否则我将不得不用JNI调用上面的代码片段.

当然,我已经查看了$ NDK /..../ include/android / headers但是我看不到我需要的候选方法.

filesystems android android-ndk android-3.0-honeycomb native-activity

3
推荐指数
1
解决办法
3704
查看次数