android - android中的地址路径

标签 android c android-ndk

我有一个 C++ 函数,我想将其命名为 java for android。 我编写了它并构建了它的库,但问题是我在模拟器中找不到文件。 我使用adb push text.txt sdcard将text.txt复制到模拟器的sdcard。 但我找不到带有C函数的文件。

我调用 Simple("hello");

这是我的 C 文件:

jint Java_X_XX_XXX_wipeActivity_Simple(JNIEnv* env, jobject javaThis,jstring jstr)
{
    jboolean iscopy;
    const char *address = (*env)->GetStringUTFChars(env, jstr, &iscopy);

    return replaceZero("/sdcard/text.txt");
    //remove(address);
}
jint replaceZero(const char *address)
{
    FILE *fp;
    fp = fopen(address,"r+");
    if(fp == 0)
    {
        printf("can not find!!");
        return -1;
    }
    else
    {
        //do sth with file
             return 0;
    }
}

我会在主程序中看到-1。

最佳答案

我找到了答案 - 我需要将其添加到 manifest.xml

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

未经许可我无法打开它。

关于android - android中的地址路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6806357/

相关文章:

android - 大响应的http异步响应

android - 在 Android Studios C 文件中调用共享库 (.so) 方法

android - Android上的Poco C++ Net找不到地址

android - 如何使用 getApplicationJniMethodId 发送一个 int 作为参数?

android - 在 Android 中使用 Glide 加载图像

java - 应用程序在服务启动时崩溃

java - 如何在android中使用smack api获取聊天中的离线/在线用户列表

c - 用 C 语言编写递归二分查找

c - 如何通过 C API as400 锁定 DATAAARA

函数中的 C 指针