如何在Android上访问/data/app/my.apk以获取正常App的NDK的JNI

时间:2012-02-27 02:34:46

标签: android android-ndk

  1. 我想在NDK的JNI中读取自己的apk文件大小,我的C代码如下:
  2. if(bflag == 0){
  3. FILE * fp;
  4. fp = fopen(“/ data / app / ziwu.ziwu.ziwu.apk”,“r”);
  5. fseek(fp,0,SEEK_END);
  6. int size = ftell(fp);
  7. if(size> 183650&& size< 193750)
  8. {
  9. BFLAG = 1;
  10. } else {
  11. return(* env) - > NewStringUTF(env,www2);
  12. }
  13. }
  14. 这个代码在emulator2.1中运行正常,但在实际手机上运行不行。
  15. 如何在Android上为正常应用程序的NDK的JNI访问/data/app/my.apk?
  16. 我是中国人,我的英语不是很好。
  17. 我在NDK中获取了我的apk文件大小,因此没有人可以反编译我的java代码来更改我的
  18. apk文件大小。
  19. 模拟器是否始终具有root权限?否则为何与模拟器不同
  20. 和真正的手机?

1 个答案:

答案 0 :(得分:0)

如果您的应用包是ziwu.ziwu.ziwu,则APK文件很可能是"/data/app/ziwu.ziwu.ziwu-1.apk",并且设备上的任何进程都具有对此文件的读取权限。只有 root 和此文件的所有者(用户系统)具有写入权限。