2014-02-11 4 views
2

Пытаясь запутать мое PhoneGap приложение после запуска я получаюProguard перерыв PhoneGap приложение

367 D/CordovaLog (30913): файл ///android_asset/www/cordova.js: Строка 913: Uncaught TypeError: объект [объект Object] не имеет какого-либо метода 'Exec'

Я думаю, что я попробовал все варианты, упомянутые в Сети, вот мой ProGuard-project.txt

-keep public class * extends com.phonegap.api.Plugin 
-keep public class org.apache.cordova.** 
-keep class org.apache.cordova.** { *; } 
-keep public class * extends org.apache.cordova.CordovaPlugin 
-keep public class * extends org.apache.cordova.api.CordovaPlugin 
-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.** 
-keep public class com.kazem.** 
-keep public class nl.** 
-dontwarn android.webkit.* 
-dontwarn org.apache.** 
-dontwarn android.support.v7.widget.** 
-dontwarn com.google.android.gms.** 
-optimizationpasses 5 
-dontusemixedcaseclassnames 
-dontskipnonpubliclibraryclasses 
-dontpreverify 
-verbose 
-keepdirectories 
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/* 

-keep public class * extends android.app.Activity 
-keep public class * extends android.app.Application 
-keep public class * extends android.app.Service 
-keep public class * extends android.content.BroadcastReceiver 
-keep public class * extends android.content.ContentProvider 
-keep public class * extends android.app.backup.BackupAgentHelper 
-keep public class * extends android.preference.Preference 
-keep public class com.android.vending.licensing.ILicensingService 

-keepclasseswithmembernames class * { 
    native <methods>; 
} 

-keepclasseswithmembers class * { 
    public <init>(android.content.Context, android.util.AttributeSet); 
} 

-keepclasseswithmembers class * { 
    public <init>(android.content.Context, android.util.AttributeSet, int); 
} 

-keepclassmembers class * extends android.app.Activity { 
    public void *(android.view.View); 
} 

-keepclassmembers enum * { 
    public static **[] values(); 
    public static ** valueOf(java.lang.String); 
} 

-keep class * implements android.os.Parcelable { 
    public static final android.os.Parcelable$Creator *; 
} 

-keepclassmembers class * { 
    @android.webkit.JavascriptInterface <methods>; 
} 
+0

Какую версию телефонного разговора вы используете? –

ответ

1

Я использовал:

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

1) .Uncomment следующую строку в файл project.properties

proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt 

2) .Inside AndroidSDk/инструменты/ProGuard/ProGuard-project.txt Добавить сильфонные линии, потому что наш проект использует WebView с JS Таким образом, мы должны указать полное имя класса к классу интерфейса JavaScript:

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

3) проект Строить Android. 4) .Copy "proguard-project.txt" файл из "AndroidSDk/tools/proguard/proguard-project.txt" в папку android.
5) .Export подписанный пакет: щелкните правой кнопкой мыши по проекту> инструменты для Android> Экспорт подписанного пакета приложений

Смежные вопросы