我加了-keep class com.amap.api.** { *; }
没什么用么

解决方案 »

  1.   


    有如上jar包
    -optimizationpasses 5
    -dontusemixedcaseclassnames
    -dontskipnonpubliclibraryclasses
    -dontpreverify
    -verbose
    -optimizations !code/simplification/arithmetic,!field/*,!class/merging/*-keepattributes *Annotation*-keepattributes Signature-libraryjars libs/AMap_3DMap_V2.4.0.jar
    -libraryjars libs/AMap_Services_V2.3.1.jar
    -libraryjars libs/Android_api_3_4.jar
    -libraryjars libs/Android_Location_V1.3.0.jar
    -libraryjars libs/Android_Navi_V1.1.1.jar
    -libraryjars libs/gson-2.1.jar
    -libraryjars libs/android-support-v4.jar
    -libraryjars libs/Msc.jar
    -libraryjars libs/armeabi/libamapv304.so
    -libraryjars libs/armeabi/libamapv304ex.so
    -libraryjars libs/armeabi/libmsc.so
    -libraryjars libs/armeabi/libtbt.so-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 * extends android.support.v4.app.Fragment
    -keep public class * extends android.app.Fragment
    -keep public class com.android.vending.licensing.ILicensingService-keep class android.support.v4.** {*;}  
    -keep interface android.support.v4.app.** {*;}  
    -keep public class * extends android.support.v4.**  
    -keep public class * extends android.app.Fragment
    -keep class com.amap.api.**  {*;}
    -keep interface com.amap.api.** {*;}
    -keep class com.amap.api.navi.model.** { *; }
    -keep public class * extends com.amap.api.**  
    -keep class com.autonavi.**  {*;}
    -keep interface com.autoavi.** {*;}  
    -keep public class * extends com.autoavi.**  
    -keep class com.iflytek.**{*;}
    -keep interface com.iflytek.** {*;}  
    -keep public class * extends com.iflytek.**  
    -keep class com.baidu.**{*;}
    -keep interface com.baidu.** {*;}  
    -keep public class * extends com.baidu.**  
    -keep class com.aps.**{*;}
    -keep interface com.aps.** {*;}  
    -keep public class * extends com.aps.**  -keep class android.support.v4.view.**{*;}
    -keep class android.support.v4.content.**{*;}-keepattributes Signature  
    -keepattributes *Annotation*  
    -keep class sun.misc.Unsafe {*;}
    -keep class com.google.gson.examples.android.model.** {*;}-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 *;
    }这样报

    Proguard returned with error code 1. See console
    [2015-01-26 15:25:11 - xxx] Warning: com.amap.api.navi.i: can't find referenced class com.amap.api.navi.model.AMapNaviCamera
    [2015-01-26 15:25:11 - xxx]       You should check if you need to specify additional program jars.
    [2015-01-26 15:25:11 - xxx] Warning: there were 1 unresolved references to classes or interfaces.
    [2015-01-26 15:25:11 - xxx]          You may need to specify additional library jars (using '-libraryjars').
    [2015-01-26 15:25:11 - xxx] java.io.IOException: Please correct the above warnings first.
    [2015-01-26 15:25:11 - xxx]  at proguard.Initializer.execute(Initializer.java:321)
    [2015-01-26 15:25:11 - xxx]  at proguard.ProGuard.initialize(ProGuard.java:211)
    [2015-01-26 15:25:11 - xxx]  at proguard.ProGuard.execute(ProGuard.java:86)
    [2015-01-26 15:25:11 - xxx]  at proguard.ProGuard.main(ProGuard.java:492)
      

  2.   


    我加了-keep class com.amap.api.** { *; }
    没什么用么是不是这个类是so库里的?
      

  3.   


    我加了-keep class com.amap.api.** { *; }
    没什么用么是不是这个类是so库里的?已解决,-dontwarn 那个类就好了,貌似我这个工程也没用到这个方法
    能打包了,但app还有问题,遇一个问题我-keep一个类
      

  4.   

    光混淆还不行,尤其是有so库,这个混淆之后一定要加密,为了保证源代码和so文件的安全性,建议采用http://www.ijiami.cn/AppProtectso文件保护,so文件专业保护,对so文件进行优化压缩、源码加密隐藏、防止调试器逆向分析