Uaktualniłem kompilację z Phonegap (Cordova) od 2.0 do 2.4 i wszystko działało dobrze w dev, dopóki nie przystąpiłem do testowania apk wersji finalnej. To, co znajduję, po długim marnowaniu czasu, to to, że z jakiegoś powodu teraz, kiedy uruchamiam kompilację, moja konfiguracja proguard łamie konstrukcję phonegapa w jakiś sposób, co oznacza, że gdy działa, to deviceready nigdy nie jest wywoływana. Wydaje się, że nie ma błędów podczas budowania, ani uruchamiania i nic tak daleko, jak widzę, ale domyślam się, że coś jest po cichu w cordova js, ponieważ nie dostaję błędów kompilacji/dziennika na urządzeniu.Phonegap 2.4 Android Proguard config
Tak jak mówię, jest to TYLKO po uruchomieniu obfs Proguard w procesie kompilacji. Jeśli wyłączyłem Proguard, wszystko działa dobrze. Przywróciłem cały kod z powrotem do wersji 2.0, aby się upewnić i wszystko jest w porządku, więc gdzieś po drodze nastąpiła straszliwa zmiana, która pozornie nie jest udokumentowana/lub nikt jeszcze nie trafił (2.4 pojawił się dopiero kilka tygodni temu - na czas pisania 26 lutego 2013).
My Proguard config zawiera następujące elementy dla PhoneGap (a także niektóre inne standardowe config)
-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.**
decompiling DEX i nie wydaje się, aby rzucić żadnego światła - wszystko wygląda ok na pierwszy rzut oka ...
Ktoś ma jakieś pomysły ???
losowo niezwiązane pytanie: dlaczego używasz DroidGap i nie CordovaWebView? –
To może być droga do zbadania @Edward ... Moja aplikacja rozszerza DriodGap - tak jak było od przed 2.0 (myślę). The proguard config -keep public org.apache.cordova mam z trauling innych postów dotyczących problemów z proguard i phonegap. Aplikacja uruchamia się poprawnie i ładuje poprawne adresy URL, ale tylko wydaje się mieć problem z ładowaniem js. –