Graphhopper不在发布apk中工作。

时间:2016-11-15 11:02:04

标签: java android android-proguard android-studio-2.2 graphhopper

我使用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的发布版本中运行?

1 个答案:

答案 0 :(得分:0)

好的,我找到了2个问题的答案。

首先,您可以设置

minifyEnabled false 
build.gradle 中的

。这也是一个解决方案,但你的应用程序不会缩小。

其次根据to the answer posted here你可以设置

-keep class com.graphhopper.** { *; }

proguard-rules.pro

所以最适合你的答案。