读书人

混淆有关问题

发布时间: 2014-01-21 00:35:39 作者: rapoo

混淆问题

-optimizationpasses 5
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontpreverify
-verbose
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*

-libraryjars libs\alipay_msp.jar
-libraryjars libs\android-support-v4.jar
-libraryjars libs\gson-2.2.2.jar
-libraryjars libs\httpmime-4.2.2.jar
-libraryjars libs\ksoap2-android-assembly-3.0.0.jar

-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 *;
}
-dontwarn
-keep class com.google.gson.** {*;}
-keep class com.alipay.android.app.** {*;}
-keep class org.xmlpull.v1.** {*;}
-keep class android.support.v4.** {*;}
-keep class org.apache.http.entity.mime.** {*;}


[2013-07-11 16:06:04 - bitcare_assistant_efy] Proguard returned with error code 1. See console
[2013-07-11 16:06:04 - bitcare_assistant_efy] Note: there were 527 duplicate class definitions.
[2013-07-11 16:06:04 - bitcare_assistant_efy] Warning: library class android.content.res.XmlResourceParser extends or implements program class org.xmlpull.v1.XmlPullParser
[2013-07-11 16:06:04 - bitcare_assistant_efy] Warning: library class android.content.Intent depends on program class org.xmlpull.v1.XmlPullParser
[2013-07-11 16:06:04 - bitcare_assistant_efy] Warning: library class android.content.IntentFilter depends on program class org.xmlpull.v1.XmlSerializer
[2013-07-11 16:06:04 - bitcare_assistant_efy] Warning: library class android.content.IntentFilter depends on program class org.xmlpull.v1.XmlPullParser
[2013-07-11 16:06:04 - bitcare_assistant_efy] Warning: library class android.content.res.ColorStateList depends on program class org.xmlpull.v1.XmlPullParser
[2013-07-11 16:06:04 - bitcare_assistant_efy] Warning: library class android.graphics.drawable.Drawable depends on program class org.xmlpull.v1.XmlPullParser
[2013-07-11 16:06:04 - bitcare_assistant_efy] Warning: library class android.graphics.drawable.Drawable depends on program class org.xmlpull.v1.XmlPullParser
[2013-07-11 16:06:04 - bitcare_assistant_efy] Warning: library class android.graphics.drawable.Drawable depends on program class org.xmlpull.v1.XmlPullParser
[2013-07-11 16:06:04 - bitcare_assistant_efy] Warning: library class android.view.LayoutInflater depends on program class org.xmlpull.v1.XmlPullParser
[2013-07-11 16:06:04 - bitcare_assistant_efy] Warning: library class android.view.LayoutInflater depends on program class org.xmlpull.v1.XmlPullParser
[2013-07-11 16:06:04 - bitcare_assistant_efy] You should check if you need to specify additional program jars.
[2013-07-11 16:06:04 - bitcare_assistant_efy] Warning: there were 10 instances of library classes depending on program classes.
[2013-07-11 16:06:04 - bitcare_assistant_efy] You must avoid such dependencies, since the program classes will
[2013-07-11 16:06:04 - bitcare_assistant_efy] be processed, while the library classes will remain unchanged.
[2013-07-11 16:06:04 - bitcare_assistant_efy] java.io.IOException: Please correct the above warnings first.


[2013-07-11 16:06:04 - bitcare_assistant_efy] at proguard.Initializer.execute(Initializer.java:321)
[2013-07-11 16:06:04 - bitcare_assistant_efy] at proguard.ProGuard.initialize(ProGuard.java:211)
[2013-07-11 16:06:04 - bitcare_assistant_efy] at proguard.ProGuard.execute(ProGuard.java:86)
[2013-07-11 16:06:04 - bitcare_assistant_efy] at proguard.ProGuard.main(ProGuard.java:492)

混淆报错,如果不使用第三方包不会报错,求解
[解决办法]
完全看不懂吖
[解决办法]
好厉害的样子。。。
[解决办法]
http://blog.csdn.net/diruser/article/details/7969120

[解决办法]
三方包一般都是已经混淆过的,再混淆一遍就会出错。

不知道你有没有注意到:其他公司的代码混淆后四大组建是不混淆的,那是因为在清单文件中去使用了这些东西,如果混淆了,也会报错。

在混淆的配置文件中你也看到了,一些 keep什么的,那些就是保持不要混淆的。

知道原因之后,可以去百度 android三方包混淆,祝顺利
[解决办法]
混淆代码的意思吗
我记得有人推荐,关键代码用c写
然后JNI调用,这样就可以了
[解决办法]
把第三方包里的类完整保留出来,不能混淆
[解决办法]
[2013-07-11 16:06:04 - bitcare_assistant_efy] You should check if you need to specify additional program jars.
[2013-07-11 16:06:04 - bitcare_assistant_efy] Warning: there were 10 instances of library classes depending on program classes.

首先你要check是否必要指定这些额外的jars,照提示是10个包,楼主可以的话先去掉第三方包,然后看看混淆后是否可行,我是怀疑跟第三方包无关,而是楼主本身混淆了一些不该混淆的。
[解决办法]

引用:
Quote: 引用:

把第三方包里的类完整保留出来,不能混淆

我也不想混淆他,我写了这个
-keep class org.kobjects.** {*;}
-keep class org.ksoap2.** {*;}
-keep class org.kxml2.** {*;}
-keep class org.xmlpull.v1.** {*;}
保持不混淆
但是还是报错
具体错误可以看20楼

-ignorewarnings 加上这个,容错
[解决办法]
http://blog.csdn.net/chanccie/article/details/8314421
[解决办法]
同意楼上的 加上

-dontwarn
-optimizationpasses 5
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontpreverify
-verbose

你上面的那些jar全部去掉,没那种写法
[解决办法]
楼主解决没?
楼主应该是和我一样用了ksoap又用了自带的XML,结果XmlPullParser冲突了。解决办法就是删掉ksoap不用的XmlPullParser
[解决办法]
具体解决办法看这个
http://blog.csdn.net/shlzxjp/article/details/8134138
结贴吧
[解决办法]

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

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

-keepattributes Signature

-keep class com.google.gson.examples.android.model.** { *; }
-keep class com.google.gson.stream.** { *; }
-keep class * extends com.google.gson.stream.** { *; }

-keepclassmembers class * implements java.io.Serializable {
static final long serialVersionUID;
private static final java.io.ObjectStreamField[] serialPersistentFields;
private void writeObject(java.io.ObjectOutputStream);
private void readObject(java.io.ObjectInputStream);
java.lang.Object writeReplace();
java.lang.Object readResolve();
}

-keep public class com.google.**{*;}

[解决办法]
第3方过滤
#支付宝
-libraryjars libs/alipay.jar
-dontwarn com.alipay.android.app.**
-keep class com.alipay.android.app.** { *; }

所有第3方的包,只要加这3句就可以

读书人网 >Android

热点推荐