我使用graphhopper路由库开发了一个android应用程序。该库在调试模式或app-debug.apk中工作正常但是当我创建应用程序的版本apk时,库无法正常工作。它给了我 java.lang.IllegalStateException:在执行以下代码时没有在类路径中找到输入流!?异常。
/*
*Constants.ROUTE_FILE_PATH = Environment.getExternalStorageDirectory().getPath()+"/.myappfolder/routes";
*/
File routingFiles = new File(Constants.ROUTE_FILE_PATH);
GraphHopper tmpHopp = new GraphHopper().forMobile();
tmpHopp.load(routingFiles.getAbsolutePath());
在创建发布apk时,我收到了一些关于graphhopper库的警告,并使用
删除了警告-dontwarn com.graphhopper.**
在proguard-rules.pro文件中。
创建graphhopper项目的发布apk有什么问题吗? 为什么这个库不会在apk的发布版本中运行?
答案 0 :(得分:0)
好的,我找到了2个问题的答案。
首先,您可以设置
minifyEnabled false
build.gradle 中的。这也是一个解决方案,但你的应用程序不会缩小。
其次根据to the answer posted here你可以设置
-keep class com.graphhopper.** { *; }
在 proguard-rules.pro 。
所以最适合你的答案。