# To enable ProGuard in your project, edit project.properties # to define the proguard.config property as described in that file. # # Add project specific ProGuard rules here. # By default, the flags in this file are appended to flags specified # in ${sdk.dir}/tools/proguard/proguard-android.txt # You can edit the include path and order by changing the ProGuard # include property in project.properties. # # For more details, see # http://developer.android.com/guide/developing/tools/proguard.html # Add any project specific keep options here: # If your project uses WebView with JS, uncomment the following # and specify the fully qualified class name to the JavaScript interface # class: #-keepclassmembers class fqcn.of.javascript.interface.for.webview { # public *; #} ######################################################################################## #不混淆第三方包 #volley -keep class com.android.volley.** {*;} #imageloader -keep class com.nostra13.universalimageloader.** {*;} #ormlite -keepattributes *DatabaseField* -keepattributes *DatabaseTable* -keepattributes *SerializedName* -keep class com.j256.** -keepclassmembers class com.j256.** { *; } -keep enum com.j256.** -keepclassmembers enum com.j256.** { *; } -keep interface com.j256.** -keepclassmembers interface com.j256.** { *; } -keep class javax.persistence.** {*;} -dontwarn com.j256.** -dontwarn javax.persistence.spi.** ######################################################################################## #ORMLITE -keepattributes *Annotation* -keepattributes Signature -keepattributes SourceFile,LineNumberTable -optimizations !code/simplification/arithmetic,!field/*,!class/merging/* -keep class com.ut.**{*;} -keep class com.sohu.** {*;} -keep class com.sohutv.** {*;} -keep class com.tianci.** {*;} -keep class com.skyworth.** {*;} -keep class com.p2p.** {*;} -keep class com.media.** {*;} -keep class com.wasu.cs.model.** { *; } -keep class android.support.*{*;} -keep class android.support.**$*{*;} -keep public class com.wasu.cs.jsobject.* -keep public class com.wasu.cs.jsobject.* { ; ; } -keep public class com.wasu.comp.wasuwebview.* -keep public class com.wasu.comp.wasuwebview.* { ; ; } ############### keep新的控件库 -keep public class com.wasu.widgets.adapter.* -keep public class com.wasu.widgets.adapter.* { ; ; } -keep public class com.wasu.widgets.adbanner.* -keep public class com.wasu.widgets.adbanner.* { ; ; } -keep public class com.wasu.widgets.focuswidget.* -keep public class com.wasu.widgets.focuswidget.* { ; ; } -keep public class com.wasu.widgets.morphingbutton.* -keep public class com.wasu.widgets.morphingbutton.* { ; ; } -keep public class com.wasu.widgets.spanrecycler.base.* -keep public class com.wasu.widgets.spanrecycler.base.* { ; ; } -keep public class com.wasu.widgets.spanrecycler.widget.* -keep public class com.wasu.widgets.spanrecycler.widget.* { ; ; } -keep public class com.wasu.widgets.tools.* -keep public class com.wasu.widgets.tools.* { ; ; } ############### keep新的控件库 -keep class com.wasu.comp.pay.DialogPay$JsImp { ; ; } -keep class com.wasu.cs.ui.FragmentBlockHeader$ViewWrapper{ ; ; } -keep class com.wasu.cs.ui.FragmentBlockRecommend$ViewWrapper{ ; ; } -keep class com.wasu.cs.widget.mediacontrol.DialogPlanBuy {*;} -keep class com.wasu.cs.widget.mediacontrol.DialogPlanBuy$JsImp { ; ; } -keep class com.wasu.cs.widget.mediacontrol.DialogCommonPlanBuy {*;} -keep class com.wasu.cs.widget.mediacontrol.DialogCommonPlanBuy$JsImp { ; ; } -keep class com.wasu.cs.widget.FocusRecycleView {*;} -keep class com.wasu.cs.widget.FocusRecycleView$MainAdapte {*;} -keep class com.wasu.cs.widget.FocusRecycleView { ; ; } -keep class com.wasu.cs.widget.NeteaseNewsVideoLayout {*;} -keep class com.wasu.cs.widget.NeteaseNewsVideoLayout { ; ; } -keep class com.wasu.cs.mvp.presenter.NeteaseNewsPresenter {*;} -keep class com.wasu.cs.mvp.presenter.NeteaseNewsPresenter { ; ; } -keep public class com.wasu.cs.utils.* -keep public class com.wasu.cs.utils.* { ; ; } -keep public class com.wasu.statistics.* -keep public class com.wasu.statistics.* { ; ; } -keep class com.wasu.cs.mvp.model.** {*;} -keep class basic.db.model.** {*;} -dontwarn com.wasu.thirdparty.db.** -dontwarn com.wasu.cs.model.** -dontwarn com.arcsoft.** -dontwarn com.zxinsight.** -dontwarn com.mediatek.** -dontwarn com.gridsum.videotracker.** -dontwarn android.support.v7.widget.** -dontwarn com.wasu.cs.widget.** -dontwarn com.sohutv.tv.player.play.** -dontwarn com.sohutv.tv.player.** -dontwarn com.j256.ormlite.** -dontwarn com.test.media.** -dontwarn com.tianci.** -dontwarn com.skyworth.** -dontwarn com.p2p.** -dontnote android.support.v4.** -dontnote com.google.** -dontnote com.android.** -dontnote android.net.** -dontnote org.apache.** -dontnote android.support.** -dontnote com.j256.ormlite.** -dontnote com.media.** -dontnote com.test.** -dontnote android.taobao.** -dontnote com.ut.** -dontnote com.gridsum.** -dontnote com.sohu.** -dontnote com.wasu.cs.** -dontnote com.wasu.comp.videoview.** -dontnote com.wasu.comp.pay.** -dontnote com.wasu.widget.** # ---------fresco--------- #fresco混淆 # Keep our interfaces so they can be used by other ProGuard rules. # See http://sourceforge.net/p/proguard/bugs/466/ -keep,allowobfuscation @interface com.facebook.common.internal.DoNotStrip # Do not strip any method/class that is annotated with @DoNotStrip -keep @com.facebook.common.internal.DoNotStrip class * -keepclassmembers class * { @com.facebook.common.internal.DoNotStrip *; } # Keep native methods -keepclassmembers class * { native ; } -dontwarn okio.** -dontwarn com.squareup.okhttp.** -dontwarn okhttp3.** -dontwarn javax.annotation.** -dontwarn com.android.volley.toolbox.** -ignorewarnings -keepattributes *Annotation* -dontwarn com.tencent.tinker.anno.AnnotationProcessor -keep @com.tencent.tinker.anno.DefaultLifeCycle public class * -keep public class * extends android.app.Application { *; } -keep public class com.tencent.tinker.loader.app.ApplicationLifeCycle { *; } -keep public class * implements com.tencent.tinker.loader.app.ApplicationLifeCycle { *; } -keep public class com.tencent.tinker.loader.TinkerLoader { *; } -keep public class * extends com.tencent.tinker.loader.TinkerLoader { *; } -keep public class com.tencent.tinker.loader.TinkerTestDexLoad { *; } -keep public class com.tencent.tinker.loader.TinkerTestAndroidNClassLoader { *; } #for command line version, we must keep all the loader class to avoid proguard mapping conflict #your dex.loader pattern here -keep public class com.tencent.tinker.loader.** { *; } -keep class tinker.sample.android.app.SampleApplication { *; }