Upgrade AGP 7.3.0 (#8016)

(cherry picked from commit 4a3070265a76d1a236abbcd5682ae753c31cffc8)

# Conflicts:
#	app/proguard-rules.pro
This commit is contained in:
Ivan Iskandar 2022-09-17 21:26:02 +07:00 committed by Jobobby04
parent 853ed03242
commit 01710d7b78
5 changed files with 59 additions and 55 deletions

102
app/proguard-rules.pro vendored
View File

@ -1,36 +1,45 @@
-dontobfuscate -dontobfuscate
# Extensions may require methods unused in the core app # Keep common dependencies used in extensions
-dontwarn eu.kanade.tachiyomi.** -keep,allowoptimization class androidx.preference.** { public protected *; }
-keep class eu.kanade.tachiyomi.** { public protected private *; } -keep,allowoptimization class kotlin.** { public protected *; }
-keep,allowoptimization class kotlinx.coroutines.** { public protected *; }
-keep,allowoptimization class kotlinx.serialization.** { public protected *; }
-keep,allowoptimization class okhttp3.** { public protected *; }
-keep,allowoptimization class okio.** { public protected *; }
-keep,allowoptimization class rx.** { public protected *; }
-keep,allowoptimization class org.jsoup.** { public protected *; }
-keep,allowoptimization class app.cash.quickjs.** { public protected *; }
-keep,allowoptimization class uy.kohesive.injekt.** { public protected *; }
-keep class org.jsoup.** { *; } # From extensions-lib
-keep class kotlin.** { *; } -keep,allowoptimization class eu.kanade.tachiyomi.network.interceptor.RateLimitInterceptorKt { public protected *; }
-keep class okhttp3.** { *; } -keep,allowoptimization class eu.kanade.tachiyomi.network.interceptor.SpecificHostRateLimitInterceptorKt { public protected *; }
-keep class com.google.gson.** { *; } -keep,allowoptimization class eu.kanade.tachiyomi.network.NetworkHelper { public protected *; }
-keep class com.github.salomonbrys.kotson.** { *; } -keep,allowoptimization class eu.kanade.tachiyomi.network.OkHttpExtensionsKt { public protected *; }
-keep class com.squareup.duktape.** { *; } -keep,allowoptimization class eu.kanade.tachiyomi.network.RequestsKt { public protected *; }
-keep,allowoptimization class eu.kanade.tachiyomi.AppInfo { public protected *; }
# === Keep EH classes ##---------------Begin: proguard configuration for RxJava 1.x ----------
-keep class exh.** { *; } -dontwarn sun.misc.**
-keep class xyz.nulldev.** { *; }
# === Keep RxAndroid, https://github.com/ReactiveX/RxAndroid/issues/350 -keepclassmembers class rx.internal.util.unsafe.*ArrayQueue*Field* {
-keep class rx.android.** { *; } long producerIndex;
long consumerIndex;
# Design library
-dontwarn com.google.android.material.**
-keep class com.google.android.material.** { *; }
-keep interface com.google.android.material.** { *; }
-keep public class com.google.android.material.R$* { *; }
-keep class com.hippo.image.** { *; }
-keep interface com.hippo.image.** { *; }
-keepclassmembers class * extends nucleus.presenter.Presenter {
<init>();
} }
# Kotlin Serialization -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;
}
-dontnote rx.internal.util.PlatformDependent
##---------------End: proguard configuration for RxJava 1.x ----------
##---------------Begin: proguard configuration for kotlinx.serialization ----------
-keepattributes *Annotation*, InnerClasses -keepattributes *Annotation*, InnerClasses
-dontnote kotlinx.serialization.AnnotationsKt # core serialization annotations -dontnote kotlinx.serialization.AnnotationsKt # core serialization annotations
@ -67,24 +76,11 @@
kotlinx.serialization.KSerializer serializer(...); kotlinx.serialization.KSerializer serializer(...);
} }
# Keep extension's common dependencies -keep class kotlinx.serialization.**
-keep class eu.kanade.tachiyomi.source.** { public protected *; } # Avoid access modification -keepclassmembers class kotlinx.serialization.** {
-keep,allowoptimization class eu.kanade.tachiyomi.** { public protected *; } <methods>;
-keep,allowoptimization class androidx.preference.** { public protected *; } }
-keep,allowoptimization class kotlin.** { public protected *; } ##---------------End: proguard configuration for kotlinx.serialization ----------
-keep,allowoptimization class kotlinx.coroutines.** { public protected *; }
-keep,allowoptimization class kotlinx.serialization.** { public protected *; }
-keep,allowoptimization class okhttp3.** { public protected *; }
-keep,allowoptimization class okio.** { public protected *; }
-keep,allowoptimization class rx.** { public protected *; }
-keep,allowoptimization class org.jsoup.** { public protected *; }
-keep,allowoptimization class app.cash.quickjs.** { public protected *; }
-keep,allowoptimization class uy.kohesive.injekt.** { public protected *; }
# RxJava 1.1.0
-dontwarn sun.misc.**
-dontnote rx.internal.util.PlatformDependent
# === Reactive network: https://github.com/pwittchen/ReactiveNetwork/tree/v0.12.4#proguard-configuration # === Reactive network: https://github.com/pwittchen/ReactiveNetwork/tree/v0.12.4#proguard-configuration
-dontwarn com.github.pwittchen.reactivenetwork.library.rx2.ReactiveNetwork -dontwarn com.github.pwittchen.reactivenetwork.library.rx2.ReactiveNetwork
@ -105,6 +101,18 @@
# === Okio: https://github.com/square/okio/tree/9b8545e7fa267c9d89753283990f24a35cd69cd6#proguard # === Okio: https://github.com/square/okio/tree/9b8545e7fa267c9d89753283990f24a35cd69cd6#proguard
-dontwarn okio.** -dontwarn okio.**
# === Keep RxAndroid, https://github.com/ReactiveX/RxAndroid/issues/350
-keep class rx.android.** { *; }
# Design library
-dontwarn com.google.android.material.**
-keep class com.google.android.material.** { *; }
-keep interface com.google.android.material.** { *; }
-keep public class com.google.android.material.R$* { *; }
-keep class com.hippo.image.** { *; }
-keep interface com.hippo.image.** { *; }
# == Nucleus # == Nucleus
-keepclassmembers class * extends nucleus.presenter.Presenter { -keepclassmembers class * extends nucleus.presenter.Presenter {
<init>(); <init>();
@ -116,12 +124,6 @@
## From original config: "Attempt to fix: java.lang.NoClassDefFoundError: uy.kohesive.injekt.registry.default.DefaultRegistrar$NOKEY$1" ## From original config: "Attempt to fix: java.lang.NoClassDefFoundError: uy.kohesive.injekt.registry.default.DefaultRegistrar$NOKEY$1"
-keep class uy.kohesive.injekt.** { *; } -keep class uy.kohesive.injekt.** { *; }
# === Conductor
# This isn't in the consumer proguard rules yet: https://github.com/bluelinelabs/Conductor/pull/550/files
-keepclassmembers public class * extends com.bluelinelabs.conductor.ControllerChangeHandler {
public <init>();
}
# === RxBinding # === RxBinding
-dontwarn com.google.auto.value.AutoValue -dontwarn com.google.auto.value.AutoValue

View File

@ -1,9 +1,5 @@
buildscript { buildscript {
dependencies { dependencies {
// Pinning to older version of R8 due to weird forced optimizations in newer versions in
// version bundled with AGP
// https://mvnrepository.com/artifact/com.android.tools/r8?repo=google
classpath("com.android.tools:r8:3.1.66")
classpath(libs.android.shortcut.gradle) classpath(libs.android.shortcut.gradle)
classpath(libs.google.services.gradle) classpath(libs.google.services.gradle)
classpath(libs.aboutLibraries.gradle) classpath(libs.aboutLibraries.gradle)

View File

@ -1,5 +1,5 @@
[versions] [versions]
agp_version = "7.2.2" agp_version = "7.3.0"
lifecycle_version = "2.5.1" lifecycle_version = "2.5.1"
[libraries] [libraries]

View File

@ -11,6 +11,7 @@ android {
defaultConfig { defaultConfig {
minSdk = AndroidConfig.minSdk minSdk = AndroidConfig.minSdk
targetSdk = AndroidConfig.targetSdk targetSdk = AndroidConfig.targetSdk
consumerProguardFile("consumer-proguard.pro")
} }
compileOptions { compileOptions {

View File

@ -0,0 +1,5 @@
-keep,allowoptimization class eu.kanade.tachiyomi.source.model.** { public protected *; }
-keep,allowoptimization class eu.kanade.tachiyomi.source.online.** { public protected *; }
-keep class eu.kanade.tachiyomi.source.** extends eu.kanade.tachiyomi.source.Source { public protected *; }
-keep,allowoptimization class eu.kanade.tachiyomi.util.JsoupExtensionsKt { public protected *; }