gpt4 book ai didi

c - Android使用C(ndk)从 Assets 文件夹中读取文本文件

转载 作者:太空狗 更新时间:2023-10-29 16:45:39 36 4
gpt4 key购买 nike

我需要从 android 中的 Assets 文件夹中读取文本文件,通过互联网搜索我发现 asset_manager api 从 android 2.3 开始可用。因为我只针对平板设备,所以这很有用。但是由于我不是 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?

最佳答案

这是我用来使用 asset_manager ndk lib 从 android assets 文件夹中读取文件的代码

    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);

在我的 Android.mk 中添加了以下行

# for native asset manager
LOCAL_LDLIBS += -landroid

不要忘记在源文件中包含

#include <android/asset_manager.h>

关于c - Android使用C(ndk)从 Assets 文件夹中读取文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10409125/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com