我使用graphhopper路由库开发了一个android应用程序。库在调试模式或app-debug.apk中工作良好,但当我创建应用程序的发布apk时,库不会工作。它给了我java.lang。在类路径中没有找到输入流!在执行下列代码时出现异常。
/*
*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。箴文件。
创建graphhopper项目的发布apk有任何问题吗?为什么库不能在apk的发布版本中工作?
好的,所以我找到了两个问题的答案。
首先,你可以设置minifyEnabled false
在<<p> strong> build.gradle 。这也是一个解决方案,但你的应用程序不会被缩小。
其次,根据这里张贴的答案,您可以设置
-keep class com.graphhopper.** { *; }
proguard-rules.pro.
所以哪个答案最适合你。