diff --git a/app/build.gradle b/app/build.gradle index d284a31f2..33af4c2c3 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -66,7 +66,6 @@ android { applicationIdSuffix '.debug' versionNameSuffix 'debug' minifyEnabled false - proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } android.applicationVariants.all { variant -> variant.outputs.all { @@ -121,7 +120,7 @@ dependencies { implementation 'com.crashlytics.sdk.android:crashlytics:2.10.1' //androidX - implementation 'androidx.core:core-ktx:1.2.0' + implementation 'androidx.core:core-ktx:1.3.0' implementation 'androidx.appcompat:appcompat:1.1.0' implementation 'androidx.media:media:1.1.0' implementation 'androidx.preference:preference:1.1.1' diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro index 1e8ab731b..29f32c555 100644 --- a/app/proguard-rules.pro +++ b/app/proguard-rules.pro @@ -58,21 +58,20 @@ # 保留我们使用的四大组件,自定义的Application等等这些类不被混淆 # 因为这些子类都有可能被外部调用 -keep public class * extends android.app.Activity --keep public class * extends android.app.Appliction +-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 # 保留androidx下的所有类及其内部类 --keep class androidx.** {*;} +-keep class androidx** {*;} # 保留继承的 --keep public class * extends androidx.** +-keep public class * extends androidx** # 保留R下面的资源 -keep class **.R$* {*;} @@ -105,6 +104,7 @@ # 保留Parcelable序列化类不被混淆 -keep class * implements android.os.Parcelable { + #noinspection ShrinkerUnresolvedReference public static final android.os.Parcelable$Creator *; } @@ -128,16 +128,11 @@ } # webView处理,项目中没有使用到webView忽略即可 --keepclassmembers class fqcn.of.javascript.interface.for.webview { - public *; -} --keepclassmembers class * extends android.webkit.webViewClient { +-keepclassmembers class * extends android.webkit.WebViewClient { + public void *(android.webkit.WebView, java.lang.String); 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); -} # 移除Log类打印各个等级日志的代码,打正式包的时候可以做为禁log使用,这里可以作为禁止log打印的功能使用 # 记得proguard-android.txt中一定不要加-dontoptimize才起作用 @@ -151,11 +146,11 @@ } # 保持js引擎调用的java类 --keep class **.analyzeRule.**{*;} +-keep class **.analyzeRule**{*;} # 保持web类 --keep class **.web.**{*;} +-keep class **.web**{*;} #数据类 --keep class **.data.**{*;} +-keep class **.data**{*;} -dontwarn rx.** @@ -170,55 +165,53 @@ -dontwarn org.conscrypt.** -dontwarn com.jeremyliao.liveeventbus.** --keep class com.jeremyliao.liveeventbus.** { *; } --keep class okhttp3.**{*;} --keep class okio.**{*;} --keep class com.hwangjr.rxbus.**{*;} --keep class org.conscrypt.**{*;} --keep class com.kunfei.bookshelf.widget.**{*;} --keep class com.kunfei.bookshelf.bean.**{*;} --keep class android.support.**{*;} --keep class me.grantland.widget.**{*;} --keep class de.hdodenhof.circleimageview.**{*;} --keep class tyrant.explosionfield.**{*;} --keep class tyrantgit.explosionfield.**{*;} --keep class freemarker.**{*;} +-keep class com.jeremyliao.liveeventbus** { *; } +-keep class okhttp3**{*;} +-keep class okio**{*;} +-keep class com.hwangjr.rxbus**{*;} +-keep class org.conscrypt**{*;} +-keep class android.support**{*;} +-keep class me.grantland.widget**{*;} +-keep class de.hdodenhof.circleimageview**{*;} +-keep class tyrant.explosionfield**{*;} +-keep class tyrantgit.explosionfield**{*;} +-keep class freemarker**{*;} -keep class com.gyf.barlibrary.* {*;} ##JSOUP --keep class org.jsoup.**{*;} --keep class **.xpath.**{*;} +-keep class org.jsoup**{*;} +-keep class **.xpath**{*;} --keep class org.slf4j.**{*;} +-keep class org.slf4j**{*;} -dontwarn org.slf4j.** --keep class org.codehaus.**{*;} +-keep class org.codehaus**{*;} -dontwarn org.codehaus.** --keep class com.jayway.**{*;} +-keep class com.jayway**{*;} -dontwarn com.jayway.** --keep class com.fasterxml.**{*;} +-keep class com.fasterxml**{*;} --keep class javax.swing..**{*;} +-keep class javax.swing**{*;} -dontwarn javax.swing.** --keep class java.awt.**{*;} +-keep class java.awt**{*;} -dontwarn java.awt.** --keep class sun.misc.**{*;} +-keep class sun.misc**{*;} -dontwarn sun.misc.** --keep class sun.reflect.**{*;} +-keep class sun.reflect**{*;} -dontwarn sun.reflect.** ## Rhino --keep class javax.script.** { *; } --keep class com.sun.script.javascript.** { *; } --keep class org.mozilla.javascript.** { *; } +-keep class javax.script** { *; } +-keep class com.sun.script.javascript** { *; } +-keep class org.mozilla.javascript** { *; } ###EPUB -dontwarn nl.siegmann.epublib.** -dontwarn org.xmlpull.** --keep class nl.siegmann.epublib.**{*;} --keep class javax.xml.**{*;} --keep class org.xmlpull.**{*;} +-keep class nl.siegmann.epublib**{*;} +-keep class javax.xml**{*;} +-keep class org.xmlpull**{*;} --keep class org.simpleframework.xml.**{*;} +-keep class org.simpleframework.xml**{*;} -dontwarn org.simpleframework.xml.** -keepclassmembers class * { diff --git a/build.gradle b/build.gradle index 21c80e3a6..051a1d77c 100644 --- a/build.gradle +++ b/build.gradle @@ -10,7 +10,7 @@ buildscript { maven { url 'https://plugins.gradle.org/m2/' } } dependencies { - classpath 'com.android.tools.build:gradle:3.6.3' + classpath 'com.android.tools.build:gradle:4.0.0' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath 'de.timfreiheit.resourceplaceholders:placeholders:0.3' classpath 'com.google.gms:google-services:4.3.3' diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 20b544410..372426236 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Tue Feb 25 08:10:32 CST 2020 +#Sat May 30 10:00:31 CST 2020 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip