相关疑难解决方法(0)

使用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万
查看次数

从NDK获取应用程序名称

我需要从本机端获取我的Android应用程序的名称,如下所示:

 android.content.context context=(android.content.context) this;//current activiy
 Resources appR =context.getResources();
 String packageName=context.getPackageName();
 int id=appR.getIdentifier("app_name","string",packageName );
 CharSequence txt = appR.getText(id);
Run Code Online (Sandbox Code Playgroud)

我的本机代码:

  jstring Java_com_AnalyticToolC_AnalyticToolActivity_JNISendData(JNIEnv* env,jobject entryObject,jobject contxt)
 {

   char *realAppName;
 realAppName=(char *)malloc(16 * 1024);
 jclass android_content_Context =(*env)->GetObjectClass(env, contxt);
    jmethodID midGetPackageName = (*env)->GetMethodID(env, android_content_Context, "getPackageName", "()Ljava/lang/String");
 jstring packageName=(*env)->CallObjectMethod(env, contxt, midGetPackageName);
jmethodID midGetResources = (*env)->GetMethodID(env, android_content_Context, "getResources", "()L");
    jobject jResource=(*env)->CallObjectMethod(env, context, midGetResources);

   jclass resource_Class=(*env)->GetObjectClass(env, jResource);
   jmethodID midGetIdentifier = (*env)->GetMethodID(env, resource_Class, "getIdentifier", "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String)I");
   jstring app_name=(*env)->NewStringUTF(env,"app_name");
   jstring TypeName=(*env)->NewStringUTF(env,"string");
   int id=(*env)->CallObjectMethod(env, jResource, midGetIdentifier,app_name,TypeName,packageName);

  jmethodID midGetAppName = (*env)->GetMethodID(env, resource_Class,"getText","(I)Ljava/lang/String");
  jstring …
Run Code Online (Sandbox Code Playgroud)

android android-ndk

5
推荐指数
2
解决办法
9447
查看次数

从 NDK 代码访问应用程序数据路径

我正在使用 NDK 为 Android 构建 C++ 代码。我的代码将用作应用程序开发人员的外部 SDK。

是否可以从本机代码访问应用程序的数据路径?

一种选择是使用 JNI 调用 JVM 并查找此信息,但是由于我正在编写库代码,因此我不确定我的 SDK 不会用于所有本机应用程序 (NativeActivity)。

实现这一目标的最佳选择是什么?

java-native-interface android native android-ndk

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