Android read text file from asset folder using C (ndk)

前端 未结 3 1343
广开言路
广开言路 2020-12-01 11:14

I need to read text file from asset folder in android, by searching through internet I found that there is asset_manager api available from android 2.3 onwards. As I am targ

3条回答
  •  被撕碎了的回忆
    2020-12-01 12:10

    Here is the code I used to read file from android assets folder using asset_manager ndk lib

        AAssetManager* mgr = AAssetManager_fromJava(env, assetManager);
        AAsset* asset = AAssetManager_open(mgr, (const char *) js, AASSET_MODE_UNKNOWN);
        if (NULL == asset) {
            __android_log_print(ANDROID_LOG_ERROR, NF_LOG_TAG, "_ASSET_NOT_FOUND_");
            return JNI_FALSE;
        }
        long size = AAsset_getLength(asset);
        char* buffer = (char*) malloc (sizeof(char)*size);
        AAsset_read (asset,buffer,size);
        __android_log_print(ANDROID_LOG_ERROR, NF_LOG_TAG, buffer);
        AAsset_close(asset);
    

    Added following line to my Android.mk

    # for native asset manager
    LOCAL_LDLIBS    += -landroid
    

    And don't forget the include in source file

    #include 
    

提交回复
热议问题