Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
android
/
dayu
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
e837d84c
authored
Feb 27, 2018
by
罗翻
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
混淆配置统一处理
parent
bc2420be
Hide whitespace changes
Inline
Side-by-side
Showing
22 changed files
with
1428 additions
and
104 deletions
app/build.gradle
app/proguard-rules.pro
app/src/main/res/values/styles.xml
baseSDK/build.gradle
baseSDK/proguard-rules.pro
baseSDK/src/main/java/com/dayu/base/api/Api.java
baseSDK/src/main/java/com/dayu/base/ui/activity/BaseActivity.java
baseSDK/src/main/java/com/dayu/base/ui/activity/DataBindingActivity.java
baseSDK/src/main/java/com/dayu/base/ui/adapter/CoreAdapter.java
baseSDK/src/main/java/com/dayu/base/ui/fragment/BaseFragment.java
baseSDK/src/main/java/com/dayu/common/BaseConstant.java
baseSDK/src/main/java/com/dayu/common/Constants.java
build.gradle
gradle.properties
gradle/wrapper/gradle-wrapper.properties
locationLibrary/proguard-rules.pro
messageCenter/proguard-rules.pro
orderCenter/proguard-rules.pro
orderCenter/src/main/java/com/dayu/order/ui/fragment/OrderThreeTabFragment.java
provider/proguard-rules.pro
settings.gradle
userCenter/proguard-rules.pro
app/build.gradle
View file @
e837d84c
...
...
@@ -5,18 +5,6 @@ android {
compileSdkVersion
compile_sdk_version
buildToolsVersion
build_tools_version
aaptOptions
{
cruncherEnabled
=
false
useNewCruncher
=
false
}
signingConfigs
{
release
{
keyAlias
'keybigfish'
keyPassword
'123456789'
storeFile
file
(
'/Users/luofan/AndroidStudioProjects/app_key.jks'
)
storePassword
'123456789'
}
}
defaultConfig
{
applicationId
"com.dayu.bigfish"
minSdkVersion
min_sdk_version
...
...
@@ -34,34 +22,46 @@ android {
}
}
compileOptions
{
sourceCompatibility
JavaVersion
.
VERSION_1_8
targetCompatibility
JavaVersion
.
VERSION_1_8
signingConfigs
{
release
{
keyAlias
'keybigfish'
keyPassword
'123456789'
storeFile
file
(
'/Users/luofan/AndroidStudioProjects/app_key.jks'
)
storePassword
'123456789'
}
}
buildTypes
{
release
{
signingConfig
android
.
signingConfigs
.
release
minifyEnabled
true
shrinkResources
false
//是否清理无用资源,依赖于minifyEnabled
zipAlignEnabled
true
//是否启用zipAlign压缩
minifyEnabled
isReleaseMinify
shrinkResources
isReleaseMinify
//是否清理无用资源,依赖于minifyEnabled
zipAlignEnabled
isReleaseMinify
//是否启用zipAlign压缩
proguardFiles
getDefaultProguardFile
(
'proguard-android.txt'
),
'proguard-rules.pro'
}
debug
{
signingConfig
android
.
signingConfigs
.
release
minifyEnabled
true
minifyEnabled
isDebugMinify
proguardFiles
getDefaultProguardFile
(
'proguard-android.txt'
),
'proguard-rules.pro'
}
}
sourceSets
{
main
{
//jni库的调用会到资源文件夹下libs里面找so文件
jniLibs
.
srcDirs
=
[
'libs'
]
assets
.
srcDirs
=
[
'src/main/assets'
,
'src/main/assets/'
]
}
}
aaptOptions
{
cruncherEnabled
=
false
useNewCruncher
=
false
}
compileOptions
{
sourceCompatibility
JavaVersion
.
VERSION_1_8
targetCompatibility
JavaVersion
.
VERSION_1_8
}
dataBinding
{
enabled
=
true
...
...
@@ -77,19 +77,17 @@ android {
repositories
{
mavenCentral
()
maven
{
url
'https://maven.google.com'
}
flatDir
{
flatDir
{
dirs
'libs'
}
}
dependencies
{
compile
fileTree
(
include:
[
'*.jar'
],
dir:
'libs'
)
//ARouter
annotationProcessor
"com.alibaba:arouter-compiler:$arouter_compiler_version"
compile
project
(
':provider'
)
if
(
isMessageModule
.
toBoolean
())
{
compile
project
(
':messageCenter'
)
}
...
...
@@ -99,7 +97,10 @@ dependencies {
if
(
isOrderModule
.
toBoolean
())
{
compile
project
(
':orderCenter'
)
}
// compile(name: 'orderCenter-debug', ext: 'aar')
// compile(name: 'userCenter-debug', ext: 'aar')
// compile(name: 'messageCenter-debug', ext: 'aar')
// compile(name: 'provider-debug', ext: 'aar')
// compile(name: 'baseSDK-debug', ext: 'aar')
}
app/proguard-rules.pro
View file @
e837d84c
...
...
@@ -117,6 +117,8 @@
#-keep class com.dayu.bigfish.bean.
*
* { *; }
#-keep class com.dayu.bigfish.base.
*
* { *; }
#-keep class com.dayu.base.
*
* { *; }
#-------------------------------------------------------------------------
#---------------------------------2.第三方包-------------------------------
...
...
@@ -237,15 +239,12 @@ public static final int *;
# 如果使用了 单类注入,即不定义接口实现 IProvider,需添加下面规则,保护实现
-keep class * implements com.alibaba.android.arouter.facade.template.IProvider
-dontwarn com.alibaba.
*
*
#---------------------------------3.与js互相调用的类------------------------
#---------------------------------4.反射相关的类和方法-----------------------
#-dontwarn com.alibaba.
*
*
#-ignorewarnings
...
...
app/src/main/res/values/styles.xml
View file @
e837d84c
...
...
@@ -13,38 +13,4 @@
<attr
name=
"backgroundHeadColor"
format=
"color"
/>
</declare-styleable>
<!--<style name="Dialog" parent="@android:style/Theme.Holo.Dialog">-->
<!--<item name="android:windowSoftInputMode">stateHidden|adjustResize</item>-->
<!--<!– 边框 –>-->
<!--<item name="android:windowFrame">@null</item>-->
<!--<!– 是否浮现在activity之上 –>-->
<!--<item name="android:windowIsFloating">true</item>-->
<!--<!– 半透明 –>-->
<!--<item name="android:windowIsTranslucent">false</item>-->
<!--<!– 无标题 –>-->
<!--<item name="android:windowNoTitle">true</item>-->
<!--<!– 背景透明 –>-->
<!--<item name="android:windowBackground">@android:color/transparent</item>-->
<!--<!– 模糊 –>-->
<!--<item name="android:backgroundDimEnabled">false</item>-->
<!--</style>-->
<!--<style name="CustomDialog" parent="@android:style/Theme.Dialog">-->
<!--<item name="android:windowSoftInputMode">stateHidden|adjustResize</item>-->
<!--<item name="android:windowFrame">@null</item>-->
<!--<!– Dialog的windowFrame框为无 –>-->
<!--<item name="android:windowIsFloating">true</item>-->
<!--<!– 是否漂现在activity上 –>-->
<!--<item name="android:windowIsTranslucent">true</item>-->
<!--<!– 是否半透明 –>-->
<!--<item name="android:windowNoTitle">true</item>-->
<!--<item name="android:background">@null</item>-->
<!--<item name="android:windowBackground">@android:color/transparent</item>-->
<!--<item name="android:windowContentOverlay">@null</item>-->
<!--<!– 去除黑色边框的关键设置项 –>-->
<!--<item name="android:backgroundDimEnabled">true</item>-->
<!--<!– 屏幕背景是否变暗 –>-->
<!--<item name="android:backgroundDimAmount">0.3</item>-->
<!--</style>-->
</resources>
baseSDK/build.gradle
View file @
e837d84c
...
...
@@ -60,5 +60,6 @@ dependencies {
compile
'com.github.lzyzsd:jsbridge:1.0.4'
compile
project
(
':locationLibrary'
)
// compile(name: 'locationLibrary-debug', ext: 'aar')
}
baseSDK/proguard-rules.pro
View file @
e837d84c
...
...
@@ -24,7 +24,225 @@
# hide the original source file name.
#-renamesourcefileattribute SourceFile
#----------------------------------------------------------------------------
#---------------------------------------------------------------------------------------------------
#-------------------------------------------基本不用动区域--------------------------------------------
#---------------------------------基本指令区----------------------------------
-
optimizationpasses
5
-
dontusemixedcaseclassnames
-
dontskipnonpubliclibraryclasses
-
dontskipnonpubliclibraryclassmembers
-
dontpreverify
-
verbose
-
printmapping
proguardMapping
.
txt
-
optimizations
!
code
/
simplification
/
cast
,!
field
/*
,!class/merging
/*
-adaptclassstrings
-keepattributes InnerClasses, EnclosingMethod, Signature,
*Annotation*,Exceptions
-keepattributes SourceFile,LineNumberTable
#----------------------------------------------------------------------------
#---------------------------------默认保留区---------------------------------
-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.view.View
-keep public class com.android.vending.licensing.ILicensingService
-keep class android.support.
*
* {*;}
-keepclasseswithmembernames class * {
native <methods>;
}
-keepclassmembers class * extends android.app.Activity{
public void *(android.view.View);
}
-keepclassmembers enum * {
public static
*
*[] values();
public static
*
* valueOf(java.lang.String);
}
-keep public class * extends android.view.View{
**
* get*();
void set*(
**
*);
public <init>(android.content.Context);
public <init>(android.content.Context, android.util.AttributeSet);
public <init>(android.content.Context, android.util.AttributeSet, int);
}
-keepclasseswithmembers class * {
public <init>(android.content.Context, android.util.AttributeSet);
public <init>(android.content.Context, android.util.AttributeSet, int);
}
-keep class * implements android.os.Parcelable {
public static final android.os.Parcelable$Creator *;
}
-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 class
*
*.R$* {
*;
}
-keepclassmembers class * {
void *(
*
*On*Event);
}
#----------------------------------------------------------------------------
#---------------------------------webview------------------------------------
-keepclassmembers class fqcn.of.javascript.interface.for.Webview {
public *;
}
-keepclassmembers class * extends android.webkit.WebViewClient {
public void *(android.webkit.WebView, java.lang.String, android.graphics.Bitmap);
public boolean *(android.webkit.WebView, java.lang.String);
}
-keepclassmembers class * extends android.webkit.WebViewClient {
public void *(android.webkit.WebView, jav.lang.String);
}
-keepclassmembers class * extends android.webkit.WebChromeClient{
public void openFileChooser(...);
}
#-------------------------------------------定制化区域----------------------------------------------
#---------------------------------1.实体类---------------------------------
#TODO
#-keep class com.dayu.bigfish.bean.
*
* { *; }
#-keep class com.dayu.bigfish.base.
*
* { *; }
#-------------------------------------------------------------------------
#---------------------------------2.第三方包-------------------------------
#retrofit
-dontwarn okio.
*
*
-dontwarn com.google.
*
*
-dontwarn javax.annotation.
*
*
-dontwarn javax.annotation.Nullable
-dontwarn javax.annotation.ParametersAreNonnullByDefault
-dontwarn okio.
*
*
-dontwarn retrofit2.
*
*
-keep class retrofit2.
*
* { *; }
-dontwarn javax.inject.
*
*
# OkHttp3
-dontwarn okhttp3.logging.
*
*
-keep class okhttp3.internal.
*
*{*;}
#############################################
# RxJava RxAndroid
-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;
}
# Gson
-keep class com.google.gson.stream.
*
* { *; }
-keepattributes EnclosingMethod
#PictureSelector 2.0
-keep class com.luck.picture.lib.
*
* { *; }
-dontwarn com.yalantis.ucrop
*
*
-keep class com.yalantis.ucrop
*
* { *; }
-keep interface com.yalantis.ucrop
*
* { *; }
#glide
-keep public class * implements com.bumptech.glide.module.GlideModule
-keep public class * extends com.bumptech.glide.AppGlideModule
-keep public enum com.bumptech.glide.load.resource.bitmap.ImageHeaderParser$
*
* {
*
*[] $VALUES;
public *;
}
#BaseRecyclerViewAdapterHelper
-keep class com.chad.library.adapter.
*
* {
*;
}
-keep public class * extends com.chad.library.adapter.base.BaseQuickAdapter
-keep public class * extends com.chad.library.adapter.base.BaseViewHolder
-keepclassmembers class
*
*$
*
* extends com.chad.library.adapter.base.BaseViewHolder {
<init>(...);
}
#greendao
-keepclassmembers class * extends org.greenrobot.greendao.AbstractDao {
public static java.lang.String TABLENAME;
}
-keep class
*
*$Properties
# If you do not use SQLCipher:
-dontwarn org.greenrobot.greendao.database.
*
*
# If you do not use Rx:
-dontwarn rx.
*
*
#环信
-keep class com.hyphenate.
*
* {*;}
-dontwarn com.hyphenate.
*
*
#高德地图
-keep class com.amap.api.location.
*
*{*;}
-keep class com.amap.api.fence.
*
*{*;}
-keep class com.autonavi.aps.amapapi.model.
*
*{*;}
#友盟
-keepclassmembers class * {
public <init> (org.json.JSONObject);
}
-keep public class com.dayu.bigfish.R$*{
public static final int *;
}
-keep class com.umeng.error.UMError{ public *; }
-keep class com.umeng.error.UMErrorCatch{public *; }
-keep class com.umeng.error.UMErrorDataManger{ public *; }
-keep class com.umeng.error.BatteryUtils{ public *; }
#eventbus
-keepclassmembers class
*
* {
@org.greenrobot.eventbus.Subscribe <methods>;
}
-keep enum org.greenrobot.eventbus.ThreadMode { *; }
##arouter
-keep public class com.alibaba.android.arouter.routes.
*
*{*;}
-keep class * implements com.alibaba.android.arouter.facade.template.ISyringe{*;}
# 如果使用了 byType 的方式获取 Service,需添加下面规则,保护接口
-keep interface * implements com.alibaba.android.arouter.facade.template.IProvider
# 如果使用了 单类注入,即不定义接口实现 IProvider,需添加下面规则,保护实现
-keep class * implements com.alibaba.android.arouter.facade.template.IProvider
#---------------------------------3.与js互相调用的类------------------------
#---------------------------------4.反射相关的类和方法-----------------------
-dontwarn com.alibaba.
*
*
...
...
baseSDK/src/main/java/com/dayu/base/api/Api.java
View file @
e837d84c
...
...
@@ -105,7 +105,7 @@ public class Api {
public
Response
intercept
(
Chain
chain
)
throws
IOException
{
Request
request
=
chain
.
request
();
String
token
=
(
String
)
SPUtils
.
get
(
BaseConstant
.
TOKEN
,
""
);
token
=
"
8eff783de36e4d2a8b7bc66709edfc42
"
;
token
=
"
2ab7a346308043f6bb4060ac52edfd61
"
;
if
(!
TextUtils
.
isEmpty
(
token
)
&&
!
request
.
url
().
toString
().
contains
(
Constants
.
BASE_URL
+
Constants
.
LOGIN_URL
))
{
request
=
request
.
newBuilder
()
.
header
(
BaseConstant
.
TOKEN
,
token
)
...
...
baseSDK/src/main/java/com/dayu/base/ui/activity/BaseActivity.java
View file @
e837d84c
...
...
@@ -20,7 +20,6 @@ import com.hyphenate.chat.EMClient;
import
java.lang.reflect.ParameterizedType
;
;
/**
* Created by luofan
...
...
baseSDK/src/main/java/com/dayu/base/ui/activity/DataBindingActivity.java
View file @
e837d84c
...
...
@@ -7,6 +7,7 @@ import android.os.Bundle;
import
android.support.v7.app.AppCompatActivity
;
import
android.view.View
;
import
com.dayu.common.BaseConstant
;
import
com.umeng.analytics.MobclickAgent
;
public
abstract
class
DataBindingActivity
<
B
extends
ViewDataBinding
>
extends
AppCompatActivity
{
...
...
@@ -29,9 +30,10 @@ public abstract class DataBindingActivity<B extends ViewDataBinding> extends App
@Override
public
void
onResume
()
{
super
.
onResume
();
if
(!
"MainActivity"
.
equals
(
mActivity
.
getClass
().
getSimpleName
())
&&
!
"OrderDetailsActivity"
.
equals
(
mActivity
.
getClass
().
getSimpleName
()))
{
MobclickAgent
.
onPageStart
(
mClassName
);
for
(
String
clsName
:
BaseConstant
.
MobclickList
)
{
if
(!
clsName
.
equals
(
mActivity
.
getClass
().
getSimpleName
()))
{
MobclickAgent
.
onPageStart
(
mClassName
);
}
}
MobclickAgent
.
onResume
(
mActivity
);
}
...
...
@@ -39,9 +41,10 @@ public abstract class DataBindingActivity<B extends ViewDataBinding> extends App
@Override
public
void
onPause
()
{
super
.
onPause
();
if
(!
"MainActivity"
.
equals
(
mActivity
.
getClass
().
getSimpleName
())
&&
!
"OrderDetailsActivity"
.
equals
(
mActivity
.
getClass
().
getSimpleName
()))
{
MobclickAgent
.
onPageEnd
(
mClassName
);
for
(
String
clsName
:
BaseConstant
.
MobclickList
)
{
if
(!
clsName
.
equals
(
mActivity
.
getClass
().
getSimpleName
()))
{
MobclickAgent
.
onPageEnd
(
mClassName
);
}
}
MobclickAgent
.
onPause
(
mActivity
);
}
...
...
baseSDK/src/main/java/com/dayu/base/ui/adapter/CoreAdapter.java
View file @
e837d84c
...
...
@@ -19,7 +19,8 @@ import java.util.ArrayList;
import
java.util.List
;
/**
* Created by luofan on 2017/12/9.
* Created by luofan
* on 2017/12/9.
*/
@SuppressWarnings
(
"unchecked"
)
public
class
CoreAdapter
<
M
,
B
>
extends
RecyclerView
.
Adapter
<
BaseViewHolder
>
{
...
...
baseSDK/src/main/java/com/dayu/base/ui/fragment/BaseFragment.java
View file @
e837d84c
...
...
@@ -37,7 +37,6 @@ public abstract class BaseFragment<P extends BasePresenter, B extends ViewDataBi
if
(
mPresenter
!=
null
)
{
mPresenter
.
setView
(
this
);
setPresenter
();
// mBind.setVariable(BR.presenter, mPresenter);
}
}
ARouter
.
getInstance
().
inject
(
this
);
...
...
baseSDK/src/main/java/com/dayu/common/BaseConstant.java
View file @
e837d84c
...
...
@@ -8,4 +8,8 @@ package com.dayu.common;
public
class
BaseConstant
{
public
static
final
String
TOKEN
=
"token"
;
public
static
final
String
PATH_LOGIN
=
"/user/login"
;
/**
* 友盟统计,有fagment的activity去除.
*/
public
static
final
String
[]
MobclickList
=
new
String
[]{
"MainActivity"
,
"OrderDetailsActivity"
};
}
baseSDK/src/main/java/com/dayu/common/Constants.java
View file @
e837d84c
...
...
@@ -9,8 +9,6 @@ import com.dayu.utils.LogUtils;
*/
public
class
Constants
{
//打包配置处。。。。。
/**
* 测试环境配置.
*/
...
...
@@ -31,7 +29,6 @@ public class Constants {
// public final static String WEB_ZHI_SHI = "https://sop.kf.ai/#/detail";
// public static final boolean IS_DEBUG = false;
//api
/**
* 登录.
*/
...
...
build.gradle
View file @
e837d84c
...
...
@@ -6,11 +6,15 @@ buildscript {
ext
.
min_sdk_version
=
16
ext
.
target_sdk_version
=
23
ext
.
version_code
=
7
ext
.
verson_name
=
"1.3.0"
ext
.
verson_name
=
"1.3.0"
ext
.
gradle_version
=
'3.0.1'
ext
.
isReleaseMinify
=
true
ext
.
isDebugMinify
=
true
ext
.
arouter_api_version
=
'1.3.1'
ext
.
arouter_compiler_version
=
'1.1.4'
repositories
{
jcenter
()
google
()
...
...
@@ -18,18 +22,17 @@ buildscript {
dependencies
{
classpath
"com.android.tools.build:gradle:$gradle_version"
classpath
'org.greenrobot:greendao-gradle-plugin:3.2.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects
{
repositories
{
jcenter
()
maven
{
url
'https://jitpack.io'
}
maven
Central
()
google
()
maven
{
url
'https://jitpack.io'
}
maven
{
url
'https://maven.google.com'
}
}
}
task
clean
(
type:
Delete
)
{
...
...
gradle.properties
View file @
e837d84c
# Project-wide Gradle settings.
# IDE (e.g. Android Studio) users:
# Gradle settings configured through the IDE *will override*
# any settings specified in this file.
# For more details on how to configure your build environment visit
# http://www.gradle.org/docs/current/userguide/build_environment.html
# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
# org.gradle.parallel=true
##模块化开关,单独调试时 false,作为模块 true
##用户模块
isUserModule
=
true
...
...
gradle/wrapper/gradle-wrapper.properties
View file @
e837d84c
...
...
@@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
distributionPath
=
wrapper/dists
zipStoreBase
=
GRADLE_USER_HOME
zipStorePath
=
wrapper/dists
distributionUrl
=
http
s
\:
//services.gradle.org/distributions/gradle-4.4-all.zip
distributionUrl
=
http
\:
//services.gradle.org/distributions/gradle-4.4-all.zip
locationLibrary/proguard-rules.pro
View file @
e837d84c
# Add project specific ProGuard rules here.
# You can control the set of applied configuration files using the
# proguardFiles setting in build.gradle.
# By default, the flags in this file are appended to flags specified
# in C:\AndroidSDK/tools/proguard/proguard-android.txt
# You can edit the include path and order by changing the proguardFiles
# directive in build.gradle.
#
# 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:
...
...
@@ -19,3 +23,228 @@
# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile
#----------------------------------------------------------------------------
#---------------------------------------------------------------------------------------------------
#-------------------------------------------基本不用动区域--------------------------------------------
#---------------------------------基本指令区----------------------------------
-
optimizationpasses
5
-
dontusemixedcaseclassnames
-
dontskipnonpubliclibraryclasses
-
dontskipnonpubliclibraryclassmembers
-
dontpreverify
-
verbose
-
printmapping
proguardMapping
.
txt
-
optimizations
!
code
/
simplification
/
cast
,!
field
/*
,!class/merging
/*
-adaptclassstrings
-keepattributes InnerClasses, EnclosingMethod, Signature,
*Annotation*,Exceptions
-keepattributes SourceFile,LineNumberTable
#----------------------------------------------------------------------------
#---------------------------------默认保留区---------------------------------
-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.view.View
-keep public class com.android.vending.licensing.ILicensingService
-keep class android.support.
*
* {*;}
-keepclasseswithmembernames class * {
native <methods>;
}
-keepclassmembers class * extends android.app.Activity{
public void *(android.view.View);
}
-keepclassmembers enum * {
public static
*
*[] values();
public static
*
* valueOf(java.lang.String);
}
-keep public class * extends android.view.View{
**
* get*();
void set*(
**
*);
public <init>(android.content.Context);
public <init>(android.content.Context, android.util.AttributeSet);
public <init>(android.content.Context, android.util.AttributeSet, int);
}
-keepclasseswithmembers class * {
public <init>(android.content.Context, android.util.AttributeSet);
public <init>(android.content.Context, android.util.AttributeSet, int);
}
-keep class * implements android.os.Parcelable {
public static final android.os.Parcelable$Creator *;
}
-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 class
*
*.R$* {
*;
}
-keepclassmembers class * {
void *(
*
*On*Event);
}
#----------------------------------------------------------------------------
#---------------------------------webview------------------------------------
-keepclassmembers class fqcn.of.javascript.interface.for.Webview {
public *;
}
-keepclassmembers class * extends android.webkit.WebViewClient {
public void *(android.webkit.WebView, java.lang.String, android.graphics.Bitmap);
public boolean *(android.webkit.WebView, java.lang.String);
}
-keepclassmembers class * extends android.webkit.WebViewClient {
public void *(android.webkit.WebView, jav.lang.String);
}
-keepclassmembers class * extends android.webkit.WebChromeClient{
public void openFileChooser(...);
}
#-------------------------------------------定制化区域----------------------------------------------
#---------------------------------1.实体类---------------------------------
#TODO
#-keep class com.dayu.bigfish.bean.
*
* { *; }
#-keep class com.dayu.bigfish.base.
*
* { *; }
#-------------------------------------------------------------------------
#---------------------------------2.第三方包-------------------------------
#retrofit
-dontwarn okio.
*
*
-dontwarn com.google.
*
*
-dontwarn javax.annotation.
*
*
-dontwarn javax.annotation.Nullable
-dontwarn javax.annotation.ParametersAreNonnullByDefault
-dontwarn okio.
*
*
-dontwarn retrofit2.
*
*
-keep class retrofit2.
*
* { *; }
-dontwarn javax.inject.
*
*
# OkHttp3
-dontwarn okhttp3.logging.
*
*
-keep class okhttp3.internal.
*
*{*;}
#############################################
# RxJava RxAndroid
-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;
}
# Gson
-keep class com.google.gson.stream.
*
* { *; }
-keepattributes EnclosingMethod
#PictureSelector 2.0
-keep class com.luck.picture.lib.
*
* { *; }
-dontwarn com.yalantis.ucrop
*
*
-keep class com.yalantis.ucrop
*
* { *; }
-keep interface com.yalantis.ucrop
*
* { *; }
#glide
-keep public class * implements com.bumptech.glide.module.GlideModule
-keep public class * extends com.bumptech.glide.AppGlideModule
-keep public enum com.bumptech.glide.load.resource.bitmap.ImageHeaderParser$
*
* {
*
*[] $VALUES;
public *;
}
#BaseRecyclerViewAdapterHelper
-keep class com.chad.library.adapter.
*
* {
*;
}
-keep public class * extends com.chad.library.adapter.base.BaseQuickAdapter
-keep public class * extends com.chad.library.adapter.base.BaseViewHolder
-keepclassmembers class
*
*$
*
* extends com.chad.library.adapter.base.BaseViewHolder {
<init>(...);
}
#greendao
-keepclassmembers class * extends org.greenrobot.greendao.AbstractDao {
public static java.lang.String TABLENAME;
}
-keep class
*
*$Properties
# If you do not use SQLCipher:
-dontwarn org.greenrobot.greendao.database.
*
*
# If you do not use Rx:
-dontwarn rx.
*
*
#环信
-keep class com.hyphenate.
*
* {*;}
-dontwarn com.hyphenate.
*
*
#高德地图
-keep class com.amap.api.location.
*
*{*;}
-keep class com.amap.api.fence.
*
*{*;}
-keep class com.autonavi.aps.amapapi.model.
*
*{*;}
#友盟
-keepclassmembers class * {
public <init> (org.json.JSONObject);
}
-keep public class com.dayu.bigfish.R$*{
public static final int *;
}
-keep class com.umeng.error.UMError{ public *; }
-keep class com.umeng.error.UMErrorCatch{public *; }
-keep class com.umeng.error.UMErrorDataManger{ public *; }
-keep class com.umeng.error.BatteryUtils{ public *; }
#eventbus
-keepclassmembers class
*
* {
@org.greenrobot.eventbus.Subscribe <methods>;
}
-keep enum org.greenrobot.eventbus.ThreadMode { *; }
##arouter
-keep public class com.alibaba.android.arouter.routes.
*
*{*;}
-keep class * implements com.alibaba.android.arouter.facade.template.ISyringe{*;}
# 如果使用了 byType 的方式获取 Service,需添加下面规则,保护接口
-keep interface * implements com.alibaba.android.arouter.facade.template.IProvider
# 如果使用了 单类注入,即不定义接口实现 IProvider,需添加下面规则,保护实现
-keep class * implements com.alibaba.android.arouter.facade.template.IProvider
-dontwarn com.alibaba.
*
*
#---------------------------------3.与js互相调用的类------------------------
#---------------------------------4.反射相关的类和方法-----------------------
messageCenter/proguard-rules.pro
View file @
e837d84c
# Add project specific ProGuard rules here.
# You can control the set of applied configuration files using the
# proguardFiles setting in build.gradle.
# By default, the flags in this file are appended to flags specified
# in C:\AndroidSDK/tools/proguard/proguard-android.txt
# You can edit the include path and order by changing the proguardFiles
# directive in build.gradle.
#
# 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:
...
...
@@ -19,3 +23,229 @@
# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile
#----------------------------------------------------------------------------
#---------------------------------------------------------------------------------------------------
#-------------------------------------------基本不用动区域--------------------------------------------
#---------------------------------基本指令区----------------------------------
-
optimizationpasses
5
-
dontusemixedcaseclassnames
-
dontskipnonpubliclibraryclasses
-
dontskipnonpubliclibraryclassmembers
-
dontpreverify
-
verbose
-
printmapping
proguardMapping
.
txt
-
optimizations
!
code
/
simplification
/
cast
,!
field
/*
,!class/merging
/*
-adaptclassstrings
-keepattributes InnerClasses, EnclosingMethod, Signature,
*Annotation*,Exceptions
-keepattributes SourceFile,LineNumberTable
#----------------------------------------------------------------------------
#---------------------------------默认保留区---------------------------------
-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.view.View
-keep public class com.android.vending.licensing.ILicensingService
-keep class android.support.
*
* {*;}
-keepclasseswithmembernames class * {
native <methods>;
}
-keepclassmembers class * extends android.app.Activity{
public void *(android.view.View);
}
-keepclassmembers enum * {
public static
*
*[] values();
public static
*
* valueOf(java.lang.String);
}
-keep public class * extends android.view.View{
**
* get*();
void set*(
**
*);
public <init>(android.content.Context);
public <init>(android.content.Context, android.util.AttributeSet);
public <init>(android.content.Context, android.util.AttributeSet, int);
}
-keepclasseswithmembers class * {
public <init>(android.content.Context, android.util.AttributeSet);
public <init>(android.content.Context, android.util.AttributeSet, int);
}
-keep class * implements android.os.Parcelable {
public static final android.os.Parcelable$Creator *;
}
-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 class
*
*.R$* {
*;
}
-keepclassmembers class * {
void *(
*
*On*Event);
}
#----------------------------------------------------------------------------
#---------------------------------webview------------------------------------
-keepclassmembers class fqcn.of.javascript.interface.for.Webview {
public *;
}
-keepclassmembers class * extends android.webkit.WebViewClient {
public void *(android.webkit.WebView, java.lang.String, android.graphics.Bitmap);
public boolean *(android.webkit.WebView, java.lang.String);
}
-keepclassmembers class * extends android.webkit.WebViewClient {
public void *(android.webkit.WebView, jav.lang.String);
}
-keepclassmembers class * extends android.webkit.WebChromeClient{
public void openFileChooser(...);
}
#-------------------------------------------定制化区域----------------------------------------------
#---------------------------------1.实体类---------------------------------
#TODO
#-keep class com.dayu.bigfish.bean.
*
* { *; }
#-keep class com.dayu.bigfish.base.
*
* { *; }
#-------------------------------------------------------------------------
#---------------------------------2.第三方包-------------------------------
#retrofit
-dontwarn okio.
*
*
-dontwarn com.google.
*
*
-dontwarn javax.annotation.
*
*
-dontwarn javax.annotation.Nullable
-dontwarn javax.annotation.ParametersAreNonnullByDefault
-dontwarn okio.
*
*
-dontwarn retrofit2.
*
*
-keep class retrofit2.
*
* { *; }
-dontwarn javax.inject.
*
*
# OkHttp3
-dontwarn okhttp3.logging.
*
*
-keep class okhttp3.internal.
*
*{*;}
#############################################
# RxJava RxAndroid
-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;
}
# Gson
-keep class com.google.gson.stream.
*
* { *; }
-keepattributes EnclosingMethod
#PictureSelector 2.0
-keep class com.luck.picture.lib.
*
* { *; }
-dontwarn com.yalantis.ucrop
*
*
-keep class com.yalantis.ucrop
*
* { *; }
-keep interface com.yalantis.ucrop
*
* { *; }
#glide
-keep public class * implements com.bumptech.glide.module.GlideModule
-keep public class * extends com.bumptech.glide.AppGlideModule
-keep public enum com.bumptech.glide.load.resource.bitmap.ImageHeaderParser$
*
* {
*
*[] $VALUES;
public *;
}
#BaseRecyclerViewAdapterHelper
-keep class com.chad.library.adapter.
*
* {
*;
}
-keep public class * extends com.chad.library.adapter.base.BaseQuickAdapter
-keep public class * extends com.chad.library.adapter.base.BaseViewHolder
-keepclassmembers class
*
*$
*
* extends com.chad.library.adapter.base.BaseViewHolder {
<init>(...);
}
#greendao
-keepclassmembers class * extends org.greenrobot.greendao.AbstractDao {
public static java.lang.String TABLENAME;
}
-keep class
*
*$Properties
# If you do not use SQLCipher:
-dontwarn org.greenrobot.greendao.database.
*
*
# If you do not use Rx:
-dontwarn rx.
*
*
#环信
-keep class com.hyphenate.
*
* {*;}
-dontwarn com.hyphenate.
*
*
#高德地图
-keep class com.amap.api.location.
*
*{*;}
-keep class com.amap.api.fence.
*
*{*;}
-keep class com.autonavi.aps.amapapi.model.
*
*{*;}
#友盟
-keepclassmembers class * {
public <init> (org.json.JSONObject);
}
-keep public class com.dayu.bigfish.R$*{
public static final int *;
}
-keep class com.umeng.error.UMError{ public *; }
-keep class com.umeng.error.UMErrorCatch{public *; }
-keep class com.umeng.error.UMErrorDataManger{ public *; }
-keep class com.umeng.error.BatteryUtils{ public *; }
#eventbus
-keepclassmembers class
*
* {
@org.greenrobot.eventbus.Subscribe <methods>;
}
-keep enum org.greenrobot.eventbus.ThreadMode { *; }
##arouter
-keep public class com.alibaba.android.arouter.routes.
*
*{*;}
-keep class * implements com.alibaba.android.arouter.facade.template.ISyringe{*;}
# 如果使用了 byType 的方式获取 Service,需添加下面规则,保护接口
-keep interface * implements com.alibaba.android.arouter.facade.template.IProvider
# 如果使用了 单类注入,即不定义接口实现 IProvider,需添加下面规则,保护实现
-keep class * implements com.alibaba.android.arouter.facade.template.IProvider
#---------------------------------3.与js互相调用的类------------------------
#---------------------------------4.反射相关的类和方法-----------------------
-dontwarn com.alibaba.
*
*
orderCenter/proguard-rules.pro
View file @
e837d84c
# Add project specific ProGuard rules here.
# You can control the set of applied configuration files using the
# proguardFiles setting in build.gradle.
# By default, the flags in this file are appended to flags specified
# in C:\AndroidSDK/tools/proguard/proguard-android.txt
# You can edit the include path and order by changing the proguardFiles
# directive in build.gradle.
#
# 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:
...
...
@@ -19,3 +23,229 @@
# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile
#----------------------------------------------------------------------------
#---------------------------------------------------------------------------------------------------
#-------------------------------------------基本不用动区域--------------------------------------------
#---------------------------------基本指令区----------------------------------
-
optimizationpasses
5
-
dontusemixedcaseclassnames
-
dontskipnonpubliclibraryclasses
-
dontskipnonpubliclibraryclassmembers
-
dontpreverify
-
verbose
-
printmapping
proguardMapping
.
txt
-
optimizations
!
code
/
simplification
/
cast
,!
field
/*
,!class/merging
/*
-adaptclassstrings
-keepattributes InnerClasses, EnclosingMethod, Signature,
*Annotation*,Exceptions
-keepattributes SourceFile,LineNumberTable
#----------------------------------------------------------------------------
#---------------------------------默认保留区---------------------------------
-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.view.View
-keep public class com.android.vending.licensing.ILicensingService
-keep class android.support.
*
* {*;}
-keepclasseswithmembernames class * {
native <methods>;
}
-keepclassmembers class * extends android.app.Activity{
public void *(android.view.View);
}
-keepclassmembers enum * {
public static
*
*[] values();
public static
*
* valueOf(java.lang.String);
}
-keep public class * extends android.view.View{
**
* get*();
void set*(
**
*);
public <init>(android.content.Context);
public <init>(android.content.Context, android.util.AttributeSet);
public <init>(android.content.Context, android.util.AttributeSet, int);
}
-keepclasseswithmembers class * {
public <init>(android.content.Context, android.util.AttributeSet);
public <init>(android.content.Context, android.util.AttributeSet, int);
}
-keep class * implements android.os.Parcelable {
public static final android.os.Parcelable$Creator *;
}
-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 class
*
*.R$* {
*;
}
-keepclassmembers class * {
void *(
*
*On*Event);
}
#----------------------------------------------------------------------------
#---------------------------------webview------------------------------------
-keepclassmembers class fqcn.of.javascript.interface.for.Webview {
public *;
}
-keepclassmembers class * extends android.webkit.WebViewClient {
public void *(android.webkit.WebView, java.lang.String, android.graphics.Bitmap);
public boolean *(android.webkit.WebView, java.lang.String);
}
-keepclassmembers class * extends android.webkit.WebViewClient {
public void *(android.webkit.WebView, jav.lang.String);
}
-keepclassmembers class * extends android.webkit.WebChromeClient{
public void openFileChooser(...);
}
#-------------------------------------------定制化区域----------------------------------------------
#---------------------------------1.实体类---------------------------------
#TODO
#-keep class com.dayu.bigfish.bean.
*
* { *; }
#-keep class com.dayu.bigfish.base.
*
* { *; }
#-------------------------------------------------------------------------
#---------------------------------2.第三方包-------------------------------
#retrofit
-dontwarn okio.
*
*
-dontwarn com.google.
*
*
-dontwarn javax.annotation.
*
*
-dontwarn javax.annotation.Nullable
-dontwarn javax.annotation.ParametersAreNonnullByDefault
-dontwarn okio.
*
*
-dontwarn retrofit2.
*
*
-keep class retrofit2.
*
* { *; }
-dontwarn javax.inject.
*
*
# OkHttp3
-dontwarn okhttp3.logging.
*
*
-keep class okhttp3.internal.
*
*{*;}
#############################################
# RxJava RxAndroid
-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;
}
# Gson
-keep class com.google.gson.stream.
*
* { *; }
-keepattributes EnclosingMethod
#PictureSelector 2.0
-keep class com.luck.picture.lib.
*
* { *; }
-dontwarn com.yalantis.ucrop
*
*
-keep class com.yalantis.ucrop
*
* { *; }
-keep interface com.yalantis.ucrop
*
* { *; }
#glide
-keep public class * implements com.bumptech.glide.module.GlideModule
-keep public class * extends com.bumptech.glide.AppGlideModule
-keep public enum com.bumptech.glide.load.resource.bitmap.ImageHeaderParser$
*
* {
*
*[] $VALUES;
public *;
}
#BaseRecyclerViewAdapterHelper
-keep class com.chad.library.adapter.
*
* {
*;
}
-keep public class * extends com.chad.library.adapter.base.BaseQuickAdapter
-keep public class * extends com.chad.library.adapter.base.BaseViewHolder
-keepclassmembers class
*
*$
*
* extends com.chad.library.adapter.base.BaseViewHolder {
<init>(...);
}
#greendao
-keepclassmembers class * extends org.greenrobot.greendao.AbstractDao {
public static java.lang.String TABLENAME;
}
-keep class
*
*$Properties
# If you do not use SQLCipher:
-dontwarn org.greenrobot.greendao.database.
*
*
# If you do not use Rx:
-dontwarn rx.
*
*
#环信
-keep class com.hyphenate.
*
* {*;}
-dontwarn com.hyphenate.
*
*
#高德地图
-keep class com.amap.api.location.
*
*{*;}
-keep class com.amap.api.fence.
*
*{*;}
-keep class com.autonavi.aps.amapapi.model.
*
*{*;}
#友盟
-keepclassmembers class * {
public <init> (org.json.JSONObject);
}
-keep public class com.dayu.bigfish.R$*{
public static final int *;
}
-keep class com.umeng.error.UMError{ public *; }
-keep class com.umeng.error.UMErrorCatch{public *; }
-keep class com.umeng.error.UMErrorDataManger{ public *; }
-keep class com.umeng.error.BatteryUtils{ public *; }
#eventbus
-keepclassmembers class
*
* {
@org.greenrobot.eventbus.Subscribe <methods>;
}
-keep enum org.greenrobot.eventbus.ThreadMode { *; }
##arouter
-keep public class com.alibaba.android.arouter.routes.
*
*{*;}
-keep class * implements com.alibaba.android.arouter.facade.template.ISyringe{*;}
# 如果使用了 byType 的方式获取 Service,需添加下面规则,保护接口
-keep interface * implements com.alibaba.android.arouter.facade.template.IProvider
# 如果使用了 单类注入,即不定义接口实现 IProvider,需添加下面规则,保护实现
-keep class * implements com.alibaba.android.arouter.facade.template.IProvider
#---------------------------------3.与js互相调用的类------------------------
#---------------------------------4.反射相关的类和方法-----------------------
-dontwarn com.alibaba.
*
*
orderCenter/src/main/java/com/dayu/order/ui/fragment/OrderThreeTabFragment.java
View file @
e837d84c
...
...
@@ -18,7 +18,6 @@ import com.dayu.widgets.listener.OnItemClickListener;
public
class
OrderThreeTabFragment
extends
BaseFragment
<
OrderDoingPresenter
,
FragmentCommomRecycleBinding
>
implements
orderDoingContract
.
View
{
private
static
final
String
TAG
=
"OrderThreeTabFragment"
;
@Override
protected
void
lazyLoad
()
{
...
...
provider/proguard-rules.pro
View file @
e837d84c
...
...
@@ -24,6 +24,227 @@
# hide the original source file name.
#-renamesourcefileattribute SourceFile
#----------------------------------------------------------------------------
#---------------------------------------------------------------------------------------------------
#-------------------------------------------基本不用动区域--------------------------------------------
#---------------------------------基本指令区----------------------------------
-
optimizationpasses
5
-
dontusemixedcaseclassnames
-
dontskipnonpubliclibraryclasses
-
dontskipnonpubliclibraryclassmembers
-
dontpreverify
-
verbose
-
printmapping
proguardMapping
.
txt
-
optimizations
!
code
/
simplification
/
cast
,!
field
/*
,!class/merging
/*
-adaptclassstrings
-keepattributes InnerClasses, EnclosingMethod, Signature,
*Annotation*,Exceptions
-keepattributes SourceFile,LineNumberTable
#----------------------------------------------------------------------------
#---------------------------------默认保留区---------------------------------
-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.view.View
-keep public class com.android.vending.licensing.ILicensingService
-keep class android.support.
*
* {*;}
-keepclasseswithmembernames class * {
native <methods>;
}
-keepclassmembers class * extends android.app.Activity{
public void *(android.view.View);
}
-keepclassmembers enum * {
public static
*
*[] values();
public static
*
* valueOf(java.lang.String);
}
-keep public class * extends android.view.View{
**
* get*();
void set*(
**
*);
public <init>(android.content.Context);
public <init>(android.content.Context, android.util.AttributeSet);
public <init>(android.content.Context, android.util.AttributeSet, int);
}
-keepclasseswithmembers class * {
public <init>(android.content.Context, android.util.AttributeSet);
public <init>(android.content.Context, android.util.AttributeSet, int);
}
-keep class * implements android.os.Parcelable {
public static final android.os.Parcelable$Creator *;
}
-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 class
*
*.R$* {
*;
}
-keepclassmembers class * {
void *(
*
*On*Event);
}
#----------------------------------------------------------------------------
#---------------------------------webview------------------------------------
-keepclassmembers class fqcn.of.javascript.interface.for.Webview {
public *;
}
-keepclassmembers class * extends android.webkit.WebViewClient {
public void *(android.webkit.WebView, java.lang.String, android.graphics.Bitmap);
public boolean *(android.webkit.WebView, java.lang.String);
}
-keepclassmembers class * extends android.webkit.WebViewClient {
public void *(android.webkit.WebView, jav.lang.String);
}
-keepclassmembers class * extends android.webkit.WebChromeClient{
public void openFileChooser(...);
}
#-------------------------------------------定制化区域----------------------------------------------
#---------------------------------1.实体类---------------------------------
#TODO
#-keep class com.dayu.bigfish.bean.
*
* { *; }
#-keep class com.dayu.bigfish.base.
*
* { *; }
#-------------------------------------------------------------------------
#---------------------------------2.第三方包-------------------------------
#retrofit
-dontwarn okio.
*
*
-dontwarn com.google.
*
*
-dontwarn javax.annotation.
*
*
-dontwarn javax.annotation.Nullable
-dontwarn javax.annotation.ParametersAreNonnullByDefault
-dontwarn okio.
*
*
-dontwarn retrofit2.
*
*
-keep class retrofit2.
*
* { *; }
-dontwarn javax.inject.
*
*
# OkHttp3
-dontwarn okhttp3.logging.
*
*
-keep class okhttp3.internal.
*
*{*;}
#############################################
# RxJava RxAndroid
-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;
}
# Gson
-keep class com.google.gson.stream.
*
* { *; }
-keepattributes EnclosingMethod
#PictureSelector 2.0
-keep class com.luck.picture.lib.
*
* { *; }
-dontwarn com.yalantis.ucrop
*
*
-keep class com.yalantis.ucrop
*
* { *; }
-keep interface com.yalantis.ucrop
*
* { *; }
#glide
-keep public class * implements com.bumptech.glide.module.GlideModule
-keep public class * extends com.bumptech.glide.AppGlideModule
-keep public enum com.bumptech.glide.load.resource.bitmap.ImageHeaderParser$
*
* {
*
*[] $VALUES;
public *;
}
#BaseRecyclerViewAdapterHelper
-keep class com.chad.library.adapter.
*
* {
*;
}
-keep public class * extends com.chad.library.adapter.base.BaseQuickAdapter
-keep public class * extends com.chad.library.adapter.base.BaseViewHolder
-keepclassmembers class
*
*$
*
* extends com.chad.library.adapter.base.BaseViewHolder {
<init>(...);
}
#greendao
-keepclassmembers class * extends org.greenrobot.greendao.AbstractDao {
public static java.lang.String TABLENAME;
}
-keep class
*
*$Properties
# If you do not use SQLCipher:
-dontwarn org.greenrobot.greendao.database.
*
*
# If you do not use Rx:
-dontwarn rx.
*
*
#环信
-keep class com.hyphenate.
*
* {*;}
-dontwarn com.hyphenate.
*
*
#高德地图
-keep class com.amap.api.location.
*
*{*;}
-keep class com.amap.api.fence.
*
*{*;}
-keep class com.autonavi.aps.amapapi.model.
*
*{*;}
#友盟
-keepclassmembers class * {
public <init> (org.json.JSONObject);
}
-keep public class com.dayu.bigfish.R$*{
public static final int *;
}
-keep class com.umeng.error.UMError{ public *; }
-keep class com.umeng.error.UMErrorCatch{public *; }
-keep class com.umeng.error.UMErrorDataManger{ public *; }
-keep class com.umeng.error.BatteryUtils{ public *; }
#eventbus
-keepclassmembers class
*
* {
@org.greenrobot.eventbus.Subscribe <methods>;
}
-keep enum org.greenrobot.eventbus.ThreadMode { *; }
##arouter
-keep public class com.alibaba.android.arouter.routes.
*
*{*;}
-keep class * implements com.alibaba.android.arouter.facade.template.ISyringe{*;}
# 如果使用了 byType 的方式获取 Service,需添加下面规则,保护接口
-keep interface * implements com.alibaba.android.arouter.facade.template.IProvider
# 如果使用了 单类注入,即不定义接口实现 IProvider,需添加下面规则,保护实现
-keep class * implements com.alibaba.android.arouter.facade.template.IProvider
#---------------------------------3.与js互相调用的类------------------------
#---------------------------------4.反射相关的类和方法-----------------------
-dontwarn com.alibaba.
*
*
...
...
settings.gradle
View file @
e837d84c
include
':app'
,
':provider'
,
':baseLibrary'
,
':baseLibrary'
,
':messageCenter'
,
':userCenter'
,
':orderCenter'
,
':locationLibrary'
include
':app'
,
':provider'
,
':baseSDK'
,
':messageCenter'
,
':userCenter'
,
':orderCenter'
,
':locationLibrary'
userCenter/proguard-rules.pro
View file @
e837d84c
# Add project specific ProGuard rules here.
# You can control the set of applied configuration files using the
# proguardFiles setting in build.gradle.
# By default, the flags in this file are appended to flags specified
# in C:\AndroidSDK/tools/proguard/proguard-android.txt
# You can edit the include path and order by changing the proguardFiles
# directive in build.gradle.
#
# 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:
...
...
@@ -19,3 +23,229 @@
# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile
#----------------------------------------------------------------------------
#---------------------------------------------------------------------------------------------------
#-------------------------------------------基本不用动区域--------------------------------------------
#---------------------------------基本指令区----------------------------------
-
optimizationpasses
5
-
dontusemixedcaseclassnames
-
dontskipnonpubliclibraryclasses
-
dontskipnonpubliclibraryclassmembers
-
dontpreverify
-
verbose
-
printmapping
proguardMapping
.
txt
-
optimizations
!
code
/
simplification
/
cast
,!
field
/*
,!class/merging
/*
-adaptclassstrings
-keepattributes InnerClasses, EnclosingMethod, Signature,
*Annotation*,Exceptions
-keepattributes SourceFile,LineNumberTable
#----------------------------------------------------------------------------
#---------------------------------默认保留区---------------------------------
-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.view.View
-keep public class com.android.vending.licensing.ILicensingService
-keep class android.support.
*
* {*;}
-keepclasseswithmembernames class * {
native <methods>;
}
-keepclassmembers class * extends android.app.Activity{
public void *(android.view.View);
}
-keepclassmembers enum * {
public static
*
*[] values();
public static
*
* valueOf(java.lang.String);
}
-keep public class * extends android.view.View{
**
* get*();
void set*(
**
*);
public <init>(android.content.Context);
public <init>(android.content.Context, android.util.AttributeSet);
public <init>(android.content.Context, android.util.AttributeSet, int);
}
-keepclasseswithmembers class * {
public <init>(android.content.Context, android.util.AttributeSet);
public <init>(android.content.Context, android.util.AttributeSet, int);
}
-keep class * implements android.os.Parcelable {
public static final android.os.Parcelable$Creator *;
}
-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 class
*
*.R$* {
*;
}
-keepclassmembers class * {
void *(
*
*On*Event);
}
#----------------------------------------------------------------------------
#---------------------------------webview------------------------------------
-keepclassmembers class fqcn.of.javascript.interface.for.Webview {
public *;
}
-keepclassmembers class * extends android.webkit.WebViewClient {
public void *(android.webkit.WebView, java.lang.String, android.graphics.Bitmap);
public boolean *(android.webkit.WebView, java.lang.String);
}
-keepclassmembers class * extends android.webkit.WebViewClient {
public void *(android.webkit.WebView, jav.lang.String);
}
-keepclassmembers class * extends android.webkit.WebChromeClient{
public void openFileChooser(...);
}
#-------------------------------------------定制化区域----------------------------------------------
#---------------------------------1.实体类---------------------------------
#TODO
#-keep class com.dayu.bigfish.bean.
*
* { *; }
#-keep class com.dayu.bigfish.base.
*
* { *; }
#-------------------------------------------------------------------------
#---------------------------------2.第三方包-------------------------------
#retrofit
-dontwarn okio.
*
*
-dontwarn com.google.
*
*
-dontwarn javax.annotation.
*
*
-dontwarn javax.annotation.Nullable
-dontwarn javax.annotation.ParametersAreNonnullByDefault
-dontwarn okio.
*
*
-dontwarn retrofit2.
*
*
-keep class retrofit2.
*
* { *; }
-dontwarn javax.inject.
*
*
# OkHttp3
-dontwarn okhttp3.logging.
*
*
-keep class okhttp3.internal.
*
*{*;}
#############################################
# RxJava RxAndroid
-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;
}
# Gson
-keep class com.google.gson.stream.
*
* { *; }
-keepattributes EnclosingMethod
#PictureSelector 2.0
-keep class com.luck.picture.lib.
*
* { *; }
-dontwarn com.yalantis.ucrop
*
*
-keep class com.yalantis.ucrop
*
* { *; }
-keep interface com.yalantis.ucrop
*
* { *; }
#glide
-keep public class * implements com.bumptech.glide.module.GlideModule
-keep public class * extends com.bumptech.glide.AppGlideModule
-keep public enum com.bumptech.glide.load.resource.bitmap.ImageHeaderParser$
*
* {
*
*[] $VALUES;
public *;
}
#BaseRecyclerViewAdapterHelper
-keep class com.chad.library.adapter.
*
* {
*;
}
-keep public class * extends com.chad.library.adapter.base.BaseQuickAdapter
-keep public class * extends com.chad.library.adapter.base.BaseViewHolder
-keepclassmembers class
*
*$
*
* extends com.chad.library.adapter.base.BaseViewHolder {
<init>(...);
}
#greendao
-keepclassmembers class * extends org.greenrobot.greendao.AbstractDao {
public static java.lang.String TABLENAME;
}
-keep class
*
*$Properties
# If you do not use SQLCipher:
-dontwarn org.greenrobot.greendao.database.
*
*
# If you do not use Rx:
-dontwarn rx.
*
*
#环信
-keep class com.hyphenate.
*
* {*;}
-dontwarn com.hyphenate.
*
*
#高德地图
-keep class com.amap.api.location.
*
*{*;}
-keep class com.amap.api.fence.
*
*{*;}
-keep class com.autonavi.aps.amapapi.model.
*
*{*;}
#友盟
-keepclassmembers class * {
public <init> (org.json.JSONObject);
}
-keep public class com.dayu.bigfish.R$*{
public static final int *;
}
-keep class com.umeng.error.UMError{ public *; }
-keep class com.umeng.error.UMErrorCatch{public *; }
-keep class com.umeng.error.UMErrorDataManger{ public *; }
-keep class com.umeng.error.BatteryUtils{ public *; }
#eventbus
-keepclassmembers class
*
* {
@org.greenrobot.eventbus.Subscribe <methods>;
}
-keep enum org.greenrobot.eventbus.ThreadMode { *; }
##arouter
-keep public class com.alibaba.android.arouter.routes.
*
*{*;}
-keep class * implements com.alibaba.android.arouter.facade.template.ISyringe{*;}
# 如果使用了 byType 的方式获取 Service,需添加下面规则,保护接口
-keep interface * implements com.alibaba.android.arouter.facade.template.IProvider
# 如果使用了 单类注入,即不定义接口实现 IProvider,需添加下面规则,保护实现
-keep class * implements com.alibaba.android.arouter.facade.template.IProvider
#---------------------------------3.与js互相调用的类------------------------
#---------------------------------4.反射相关的类和方法-----------------------
-dontwarn com.alibaba.
*
*
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment