mirror of
https://github.com/TeamNewPipe/NewPipe
synced 2026-02-04 09:10:17 +00:00
This fixes the following error during the minifyWithR8 task: > Task :app:minifyReleaseWithR8 FAILED ERROR: Missing classes detected while running R8. Please add the missing classes or apply additional keep rules that are generated in /home/runner/work/NewPipe/NewPipe/app/build/outputs/mapping/release/missing_rules.txt. ERROR: R8: Missing class com.google.re2j.Matcher (referenced from: com.google.re2j.Matcher org.jsoup.helper.Re2jRegex$Re2jMatcher.delegate and 3 other contexts) Missing class com.google.re2j.Pattern (referenced from: com.google.re2j.Pattern org.jsoup.helper.Re2jRegex.re2jPattern and 4 other contexts)
42 lines
1.6 KiB
Prolog
42 lines
1.6 KiB
Prolog
# https://developer.android.com/build/shrink-code
|
|
|
|
## Helps debug release versions
|
|
-dontobfuscate
|
|
|
|
## Rules for NewPipeExtractor
|
|
-keep class org.schabi.newpipe.extractor.timeago.patterns.** { *; }
|
|
## Rules for Rhino and Rhino Engine
|
|
-keep class org.mozilla.javascript.* { *; }
|
|
-keep class org.mozilla.javascript.** { *; }
|
|
-keep class org.mozilla.javascript.engine.** { *; }
|
|
-keep class org.mozilla.classfile.ClassFileWriter
|
|
-dontwarn org.mozilla.javascript.JavaToJSONConverters
|
|
-dontwarn org.mozilla.javascript.tools.**
|
|
-keep class javax.script.** { *; }
|
|
-dontwarn javax.script.**
|
|
-keep class jdk.dynalink.** { *; }
|
|
-dontwarn jdk.dynalink.**
|
|
# Rules for jsoup
|
|
# Ignore intended-to-be-optional re2j classes - only needed if using re2j for jsoup regex
|
|
# jsoup safely falls back to JDK regex if re2j not on classpath, but has concrete re2j refs
|
|
# See https://github.com/jhy/jsoup/issues/2459 - may be resolved in future, then this may be removed
|
|
-dontwarn com.google.re2j.**
|
|
|
|
## Rules for ExoPlayer
|
|
-keep class com.google.android.exoplayer2.** { *; }
|
|
|
|
## Rules for OkHttp. Copy pasted from https://github.com/square/okhttp
|
|
-dontwarn okhttp3.**
|
|
-dontwarn okio.**
|
|
|
|
## See https://github.com/TeamNewPipe/NewPipe/pull/1441
|
|
-keepclassmembers class * implements java.io.Serializable {
|
|
static final long serialVersionUID;
|
|
!static !transient <fields>;
|
|
private void writeObject(java.io.ObjectOutputStream);
|
|
private void readObject(java.io.ObjectInputStream);
|
|
}
|
|
|
|
## For some reason NotificationModeConfigFragment wasn't kept (only referenced in a preference xml)
|
|
-keep class org.schabi.newpipe.settings.notifications.** { *; }
|