首页 / 浏览问题 / 移动GIS / 问题详情
Environment.setLicensePath报错
14EXP 2020年04月04日

imageAndroid开发,在电脑上运行了虚拟手机,在虚拟手机的存储目录SuperMap文件夹下可以找到许可文件和地图文件,但是就是报错,而且报错的内容是乱码。String rootPath = android.os.Environment.getExternalStorageDirectory().getAbsolutePath().toString(); Environment.setLicensePath(rootPath + "/sdcard/SuperMap/license");

1个回答

您好,先检查一下您的开发平台Android studio的字符集编码,让报错信息能够正常显示。手机是否开启了读写权限,用代码获取一下SuperMap下的文个数,看返回的数值是多少
9,237EXP 2020年04月07日

网上搜索到的修改编码的方式就是修改这里,但是改了之后没有效果(第一次学习使用Android和iMobile开发)

加载build.gradle文件里对吧?没有用,还是乱码
您好,建议您在网上查找Android studio输出信息乱码的解决办法。或者你用真机测试一下

我换了个版本的AS就好了,但是我发现我用adb把license等文件放入虚拟机,按照网上的放入sdcard却在sdcard下找不到,只能在图片红圈的目录下找到。。。java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.administrator.myapplication/com.example.administrator.myapplication.MainActivity}: java.lang.IllegalArgumentException: /storage/emulated/0/sdcard/SuperMap/license/ is not a correct directory  报错内容也是说找不到文件夹

但是我用控制台却可以找到文件

您好,您这个应该是直接放在手机的内存里面,而不是sdcard里面。先在你的虚拟机里面找到文件所在位置。建议百度一下如何获取手机内存里的文件
...