Graphhopper не работает в версии apk.

Я разработал приложение для Android, используя библиотеку маршрутизации graphhopper. Библиотека отлично работает в режиме отладки или в 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.

Есть ли проблема с созданием релиза apk проекта graphhopper? Почему библиотека не работает в релизной версии apk?


person Yogesh    schedule 15.11.2016    source источник


Ответы (1)


Итак, я нашел 2 ответа на вопрос.

Во-первых, вы можете установить

minifyEnabled false 

в build.gradle. Это тоже работает как решение, но ваше приложение не будет уменьшено.

Во-вторых, в соответствии с к опубликованному ответу здесь вы можете установить

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

в proguard-rules.pro.

Так что какой ответ вам больше подходит.

person Yogesh    schedule 16.11.2016