玩瞳文档中心


混淆配置

<p>如果您的集成玩瞳SDK的Android项目需要进行代码混淆时,请加入以下的混淆配置,否则会出现无法正常work的情况:</p> <p><strong>玩瞳SDK库的混淆配置:</strong></p> <pre><code>-keep class com.visiontalk.** { *; } -keep class com.wxb.** { *; } -keep class cn.visiontalk.** { *; }</code></pre> <p><strong>三方库的混淆配置:</strong></p> <pre><code># 取消java.lang.invoke(lambda表达式)的警告, 会影响build -dontwarn java.lang.invoke.** # 项目中可能用到反射, 需要添加以下配置代码 -keepattributes Signature -keepattributes *Annotation* -keepattributes EnclosingMethod -keepattributes InnerClasses -keepattributes Deprecated -keepattributes SourceFile -keepattributes LineNumberTable -keepattributes Signature -keepattributes Exceptions # 保持继承自系统类的class不被混淆 -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 interface android.support.v4.app.** { *; } -keep class android.support.v4.** { *; } -keep public class * extends android.support.v4.** -keep interface android.support.v7.app.** { *; } -keep class android.support.v7.** { *; } -keep public class * extends android.support.v7.** -keep public class * extends android.app.Fragment -keep class * extends android.**{*;} # 不混淆Serializable接口的子类中指定的某些成员变量和方法 -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(); } ######################## 常用框架 ######################## # Gson specific classes -keep class sun.misc.Unsafe { *; } #-keep class com.google.gson.stream.** { *; } # Application classes that will be serialized/deserialized over Gson -keep class com.google.gson.examples.android.model.** { *; } -dontwarn com.google.gson.** -keep class com.google.gson.** { *; } # okhttp3 -dontwarn okio.** -keep class okio.** { *; } -dontwarn okhttp3.** -keep class okhttp3.** { *; } # retrofit2 -dontwarn retrofit2.** -keep class retrofit2.** { *; } -keepattributes Signature -keepattributes Exceptions # rxjava -dontwarn io.reactivex.** -keep class io.reactivex.** { *; } -dontwarn sun.misc.** -keepclassmembers class rx.internal.util.unsafe.*ArrayQueue*Field* { long producerIndex; long consumerIndex; } -keepclassmembers class rx.internal.util.unsafe.BaseLinkedQueueProducerNodeRef { rx.internal.util.atomic.LinkedQueueNode producerNode; } -keepclassmembers class rx.internal.util.unsafe.BaseLinkedQueueConsumerNodeRef { rx.internal.util.atomic.LinkedQueueNode consumerNode; } # umeng -keep class com.umeng.** {*;} -keepclassmembers class * { public &lt;init&gt; (org.json.JSONObject); } -keepclassmembers enum * { public static **[] values(); public static ** valueOf(java.lang.String); }</code></pre>

页面列表

ITEM_HTML