可以帮忙写个android通过jni调用c或c++读取assets下的文件吗?
跪求
跪求
解决方案 »
- 请问一下树草莓能做android游戏开发吗?
- 怎么查看jar包里面的源码
- 编译Android4.1,出现 java.lang.OutOfMemoryError问题!!!小妹求赐教!
- android读取word文档的路径问题:急求救
- 发现N多陌生的intent.action
- 在eclipse(ADT)中导入android工程时出现错误。
- 300多套安卓源码一次性下载 绝对给力 不用留邮箱
- 关于SDK自带的bluetoothchat的源码错误问题
- 请问如何知道我的应用程序调用的是drawable-hdpi ,drawable-ldpi, drawable-mdpi?
- js读取Android本地文件
- 大家开发android应用的时候写详细设计文档吗?
- ScrollView 和 OnDraw()的问题
只是有点点区别
你查一下AssetManager 这个就知道了
* Function Name : java_com_fontlose_ReadAssets_readFromAssetsLibzip
* Description : 定义:public native void readFromAssetsLibzip(String apkpath,String filename);
* Input : apkpath路径 filename 资源名
* Output : None
* Return : None
*******************************************************************************/
void Java_com_fontlose_ReadAssets_readFromAssetsLibzip(JNIEnv* env,jclass tis,jstring assetpath,jstring filename)
{
LOGI("ReadAssets");
int i=0;
jboolean iscopy;
const char *mpath = (*env)->GetStringUTFChars(env, assetpath, &iscopy);
struct zip* apkArchive=zip_open(mpath, 0, NULL);;
(*env)->ReleaseStringUTFChars(env, filename, mpath);
struct zip_stat fstat;
zip_stat_init(&fstat);
int numFiles = zip_get_num_files(apkArchive);
LOGI("File numFiles %i \n",numFiles);
for (i=0; i<numFiles; i++) {
const char* name = zip_get_name(apkArchive, i, 0);
if (name == NULL) {
LOGE("Error reading zip file name at index %i : %s", zip_strerror(apkArchive));
return;
}
zip_stat(apkArchive,name,0,&fstat);
LOGI("File %i:%s Size1: %d Size2: %d", i,fstat.name,fstat.size ,fstat.comp_size) ;
}
const char *fname = (*env)->GetStringUTFChars(env, filename, &iscopy);
struct zip_file* file = zip_fopen(apkArchive, fname, 0);
if (!file) {
LOGE("Error opening %s from APK", fname);
return;
}
zip_stat(apkArchive,fname,0,&fstat);
(*env)->ReleaseStringUTFChars(env, filename, fname);
char *buffer=(char *)malloc(fstat.size+1);
buffer[fstat.size]=0;
int numBytesRead = zip_fread(file, buffer,fstat.size);;
LOGI(": %s\n",buffer);
free(buffer);
zip_fclose(file);
zip_close(apkArchive);
} 网上别人写的,可以参考原文:http://blog.csdn.net/fontlose/article/details/6686161