我需要从
android中的资产文件夹中读取文本文件,通过互联网进行搜索,我发现有来自android 2.3以上的asset_manager api.由于我只针对平板电脑设备,这是非常有用的.但是,由于我不是C语言的专家,我无法找到任何关于如何使用文件描述符读/写文件的例子.我发现许多使用FILE *的例子(文件指针)
My goal is to decrypt a js file from asset folder which is encrypted
using C (for securing the code),as js code is visible if end user
decompiled my apk. Because asset folder is inside zip file is it possible to do?
解决方法
@H_502_11@ 这是使用asset_manager ndk lib从android资产文件夹中读取文件的代码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,buffer); AAsset_close(asset);@H_301_13@添加以下行到我的Android.mk
# for native asset manager LOCAL_LDLIBS += -landroid@H_301_13@并且不要忘记源文件中的include
#include <android/asset_manager.h>@H_301_13@