Функциональность телефонной связи не работает после экспорта apk из eclipse — проблема с proguard?

Когда я тестирую свое приложение на устройстве с помощью «Запуск от имени» -> «Приложение Android», функциональность Phonegap работает нормально.

Когда я экспортирую файл .apk с помощью Eclipse и запускаю его на устройстве, функция Phonegap не работает. Я предполагаю, что это, вероятно, проблема Proguard. Как мне это решить?

proguard-properties.txt

-keep public class * extends com.phonegap.api.Plugin
-keep public class * extends org.apache.cordova.api.Plugin
-keep public class org.apache.cordova.DroidGap
-keep public class org.apache.cordova.**
-libraryjars /path/to/adt-bundle-mac/sdk/tools/lib/commons-codec-1.4.jar
-dontwarn android.webkit.*

person Hope4You    schedule 10.05.2013    source источник


Ответы (2)


Это сработало:

-keep public class * extends com.phonegap.api.Plugin
-keep public class * extends org.apache.cordova.api.Plugin
-keep public class org.apache.cordova.DroidGap
-keep public class org.apache.cordova.**
-keep public class org.apache.**
-dontwarn android.webkit.*
-dontwarn org.apache.**
-keep public class * extends org.apache.cordova.api.CordovaPlugin
-keep class org.apache.cordova.** { *; }

(Конфигурация Phonegap 2.4 Android Proguard)

person Hope4You    schedule 17.05.2013

Я использовал: -keep class org.apache.cordova.** { *; } при защите моего приложения Cordova, но это не сработало. Но когда я написал тот же оператор после операторов '-keep' для всех java-файлов, он работал абсолютно нормально (это может быть потому, что после сохранения всех функций кордовы сохранение функций java переопределяет и снова исключает функции кордовы). Но в одном из моих проектов изменение порядка не имело значения, а в одном это сработало только после изменения порядка, т.е. написав -keep class org.apache.cordova.** { *; } в конце конфигурационного файла proguard.

person Priyanka    schedule 09.01.2017