Intereting Posts
Как создать EditText с помощью кнопки cross (x) в конце? Как программно снимать фотографии во время записи видео с использованием Camera2 API в Andorid Как показать кнопку меню на Android 3.0? Расширенная панель инструментов с пользовательским представлением, не отображаемым с полной шириной Несколько приложений для Android в зависимости от библиотеки Android с градиентом Возможно ли иметь более одного файла строковых ресурсов в Android? Для проектов библиотек андроида, <uses-sdk> имеет смысл в манифесте? Изменять цвет фона ActionBarSherlock программно Показывать панель вкладок и список в панели действий одновременно. (Android Honeycomb) Android: Как зарегистрировать наблюдателя контента без активности? Android 3.0 ActionBar, изменение цвета Эквалайзер не всегда поддерживается, даже если api> = 9? Android GPS Включить / отключить сохранение времени в текстовом файле внутри SDCARD с многострочными линиями XMPP aSmack – Как я могу получить текущее состояние пользователя (offline / online / away / etc.)? Broadcastreceiver и приостановленная активность

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

Я обновил сборку из Phonegap (Cordova) 2.0 до 2.4, и все отлично работало в dev, пока я не приступил к тестированию последней версии apk. То, что я нахожу, после большого количества времени потрачено впустую, заключается в том, что по какой-то причине теперь, когда я запускаю сборку, моя конфигурация proguard нарушает сборку телефонных разговоров каким-то образом, что означает, что при запуске deviceready никогда не вызывается. Кажется, нет ошибок при построении, запуске и ничем, насколько я могу это видеть, но я предполагаю, что что-то тихо проваливается в кордове js, поскольку я не получаю ошибки компиляции / журнала на устройстве.

Как я уже сказал, это ТОЛЬКО при запуске obfs Proguard в процессе сборки. Если я выключу Proguard, все работает отлично. Я вернул весь свой код обратно в 2.0, чтобы быть уверенным, и все это хорошо, поэтому где-то на пути произошла нормальная смена, которая, по-видимому, не задокументирована / или никто еще не ударил (2.4 появился только несколько недель назад – на Время написания 26-го февраля 2013 года).

Конфигурация My Proguard содержит следующие данные для телефонного разговора (а также некоторую другую стандартную конфигурацию)

-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.** 

И декомпиляция dex, похоже, не бросает никакого света – все выглядит нормально с первого взгляда …

У кого-нибудь есть идеи ???

Solutions Collecting From Web of "Phonegap 2.4 Конфигурация Android Proguard"

Попробуйте заменить настройки «держать» Кордовы в вашем proguard-project.txt со следующей строкой, которая должна содержать все классы, поля и методы Кордовы, как публичные, так и частные (и, следовательно, reenable deviceready):

-keep class org.apache.cordova. ** {*; }

Тогда вам просто нужно включить свой класс (предположительно, расширение CordovaPlugin, а не только плагин), например

до v3:

 -keep public class * extends org.apache.cordova.api.CordovaPlugin 

v3 +:

 -keep public class * extends org.apache.cordova.CordovaPlugin 

Думаю, плагины Phonegap исключены из финального APK. Кордова.js, вероятно, даже не существует, чтобы давать ошибки.