代码如下:

public class testfile {

    public native RenderCar();

    public native RenderSky();

    public boolean testPathExit()

    {

        String str = Environment.getExternalStorageDirectory().getPath();

        str = str + "/Android/data/test/";

        String str1 = "/storage/sdcard0/Android/data/test/";

        File file = new File(str);

        if (file.exists())

        {

            return true;

        }

        return false;

    }

    

    public String getDataPath()

    {

        String str1 = "/storage/sdcard0/Android/data/test/";

        String str = Environment.getExternalStorageDirectory().getPath();

        str = str + "/Android/data/test/";

        File file = new File(str);

        if (file.exists()) {

            return str;

        }

        return str1;

    }

}

说明:该类编写了一些native函数,调用Jni实际的函数实现,在调试模式下getDataPath函数测试出来的str目录永远是不存在的,因为直接return str1,但是testPathExit函数测试的结果却都是true,说明该目录存在,并且单步调试过程中进入到断点ret = true.


在发布版本中,打印getDataPath返回的字符串,目录确实是存在的,返回结果是/storage/emulate/0/Android/data/test,说明确实返回return str,目前尚未有任何合理的解释


更多相关文章

  1. android源码分析(一) - 语言切换机制
  2. android加密的即时通信软件 -服务器端
  3. 【Android(安卓)NDK 开发】Ubuntu 函数库交叉编译 ( Android(安
  4. 腾讯面试官:了解Java Binder中的系统服务吗?
  5. android 电容屏(三):驱动调试之驱动程序分析篇
  6. Android:关于声明文件中android:process属性说明
  7. Android插件配置-Android(安卓)Extension介绍
  8. 2.4.10 可展开的列表组件
  9. Android(安卓)7.1.2(Android(安卓)N) Android系统启动流程

随机推荐

  1. android URL获取图片显示到ImageView 控
  2. Android控制台中运行Java程序
  3. Android SD卡文件列表
  4. Android UI控件详解-Notification(通知)
  5. android canmera相机
  6. android上开源的酷炫的交互动画和视觉效
  7. 简析android:installLocation
  8. android 报错Attempt to invoke virtual
  9. android各种适配器的用法
  10. Android Training - 使用IntentService执