Android第二十六课 调试模式 file.exits判断目录异常
代码如下:
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,目前尚未有任何合理的解释
更多相关文章
- android源码分析(一) - 语言切换机制
- android加密的即时通信软件 -服务器端
- 【Android(安卓)NDK 开发】Ubuntu 函数库交叉编译 ( Android(安
- 腾讯面试官:了解Java Binder中的系统服务吗?
- android 电容屏(三):驱动调试之驱动程序分析篇
- Android:关于声明文件中android:process属性说明
- Android插件配置-Android(安卓)Extension介绍
- 2.4.10 可展开的列表组件
- Android(安卓)7.1.2(Android(安卓)N) Android系统启动流程