Fixed
Status Update
Comments
do...@gmail.com <do...@gmail.com> #2
Android Studio 3.4.0
mk...@google.com <mk...@google.com> #3
The field-minification is actually quite difficult to get exactly right and was recently changed. Simply, for fields on super-types, we might not be able to assign non-unique names and thus we run out of "names" from the obfuscationdictionary faster.
Could you check that some of your base-classes (classes not extending other classes except java.lang.Object) field names are actually minified?
I recently changed how indexes was assigned in a newer version and you might find more of your names are minified. Would you mind trying that version out to see if it matches closer to your expectation?
buildscript {
repositories {
maven {
url "http://storage.googleapis.com/r8-releases/raw/master "
}
}
dependencies {
classpath 'com.android.tools:r8:44b0356b65ab24779a8051c8f4dd50b0186437a8' // Must be before the Gradle Plugin for Android.
classpath 'com.android.tools.build:gradle:X.Y.Z' // Your current AGP version.
}
}
You might also be able to use -overloadaggressively if not doing that already, although that can lead to verification errors.
Could you check that some of your base-classes (classes not extending other classes except java.lang.Object) field names are actually minified?
I recently changed how indexes was assigned in a newer version and you might find more of your names are minified. Would you mind trying that version out to see if it matches closer to your expectation?
buildscript {
repositories {
maven {
url "
}
}
dependencies {
classpath 'com.android.tools:r8:44b0356b65ab24779a8051c8f4dd50b0186437a8' // Must be before the Gradle Plugin for Android.
classpath 'com.android.tools.build:gradle:X.Y.Z' // Your current AGP version.
}
}
You might also be able to use -overloadaggressively if not doing that already, although that can lead to verification errors.
do...@gmail.com <do...@gmail.com> #4
Thanks for quick response.
It should be fixed in 44b0356b65ab24779a8051c8f4dd50b0186437a8.
r8 1.5.21-dev (44b0356b65ab24779a8051c8f4dd50b0186437a8) seems ok:
java.math.BigInteger d -> do
int auth -> µΗ
byte[] EMP -> µH
byte[] k -> µμ
java.math.BigInteger m -> if
r8 1.4.77:
byte[] EMP -> a
java.math.BigInteger d -> b
java.math.BigInteger m -> c
int auth -> e
byte[] k -> d
proguard:
byte[] EMP -> do
java.math.BigInteger d -> if
java.math.BigInteger m -> µμ
byte[] k -> µΗ
int auth -> µH
(don't worry about µΗ and µH in my example, it's not the same character.)
It should be fixed in 44b0356b65ab24779a8051c8f4dd50b0186437a8.
r8 1.5.21-dev (44b0356b65ab24779a8051c8f4dd50b0186437a8) seems ok:
java.math.BigInteger d -> do
int auth -> µΗ
byte[] EMP -> µH
byte[] k -> µμ
java.math.BigInteger m -> if
r8 1.4.77:
byte[] EMP -> a
java.math.BigInteger d -> b
java.math.BigInteger m -> c
int auth -> e
byte[] k -> d
proguard:
byte[] EMP -> do
java.math.BigInteger d -> if
java.math.BigInteger m -> µμ
byte[] k -> µΗ
int auth -> µH
(don't worry about µΗ and µH in my example, it's not the same character.)
do...@gmail.com <do...@gmail.com> #5
However, r8 1.5.21-dev (44b0356b65ab24779a8051c8f4dd50b0186437a8) crash my app.
If you want me to baksmali and check the reason, please let me know.
If you want me to baksmali and check the reason, please let me know.
do...@gmail.com <do...@gmail.com> #6
From the output, I found the issues.
r8 1.5.21-dev (44b0356b65ab24779a8051c8f4dd50b0186437a8):
io.fabric.sdk.android.services.concurrency.AsyncTask -> CoN.coN.coN.coN.coN.CoN.coN:
io.fabric.sdk.android.services.concurrency.AsyncTask$1 -> io.fabric.sdk.android.services.concurrency.AsyncTask$1:
r8 1.4.77:
io.fabric.sdk.android.services.concurrency.AsyncTask -> CoN.coN.coN.coN.coN.CoN.AUx:
io.fabric.sdk.android.services.concurrency.AsyncTask$1 -> CoN.coN.coN.coN.coN.CoN.coN:
io.fabric.sdk.android.services.concurrency.AsyncTask -> CoN.coN.coN.coN.coN.CoN.coN:
io.fabric.sdk.android.services.concurrency.AsyncTask$1 -> io.fabric.sdk.android.services.concurrency.AsyncTask$1:
io.fabric.sdk.android.services.concurrency.AsyncTask$2 -> io.fabric.sdk.android.services.concurrency.AsyncTask$2:
io.fabric.sdk.android.services.concurrency.AsyncTask$3 -> io.fabric.sdk.android.services.concurrency.AsyncTask$3:
io.fabric.sdk.android.services.concurrency.AsyncTask$4 -> io.fabric.sdk.android.services.concurrency.AsyncTask$4:
io.fabric.sdk.android.services.concurrency.AsyncTask$AsyncTaskResult -> CoN.coN.coN.coN.coN.CoN.coN$coN:
io.fabric.sdk.android.services.concurrency.AsyncTask$InternalHandler -> CoN.coN.coN.coN.coN.CoN.coN$cON:
io.fabric.sdk.android.services.concurrency.AsyncTask$SerialExecutor -> CoN.coN.coN.coN.coN.CoN.coN$CoN:
io.fabric.sdk.android.services.concurrency.AsyncTask$SerialExecutor$1 -> io.fabric.sdk.android.services.concurrency.AsyncTask$SerialExecutor$1:
io.fabric.sdk.android.services.concurrency.AsyncTask$Status -> CoN.coN.coN.coN.coN.CoN.coN$CON:
io.fabric.sdk.android.services.concurrency.AsyncTask$WorkerRunnable -> CoN.coN.coN.coN.coN.CoN.coN$AUx:
It seems r8 1.5.21-dev (44b0356b65ab24779a8051c8f4dd50b0186437a8) don't shrink for class$[1-9]*.
Which change access policy, then throws IllegalAccessError.
r8 1.5.21-dev (44b0356b65ab24779a8051c8f4dd50b0186437a8):
io.fabric.sdk.android.services.concurrency.AsyncTask -> CoN.coN.coN.coN.coN.CoN.coN:
io.fabric.sdk.android.services.concurrency.AsyncTask$1 -> io.fabric.sdk.android.services.concurrency.AsyncTask$1:
r8 1.4.77:
io.fabric.sdk.android.services.concurrency.AsyncTask -> CoN.coN.coN.coN.coN.CoN.AUx:
io.fabric.sdk.android.services.concurrency.AsyncTask$1 -> CoN.coN.coN.coN.coN.CoN.coN:
io.fabric.sdk.android.services.concurrency.AsyncTask -> CoN.coN.coN.coN.coN.CoN.coN:
io.fabric.sdk.android.services.concurrency.AsyncTask$1 -> io.fabric.sdk.android.services.concurrency.AsyncTask$1:
io.fabric.sdk.android.services.concurrency.AsyncTask$2 -> io.fabric.sdk.android.services.concurrency.AsyncTask$2:
io.fabric.sdk.android.services.concurrency.AsyncTask$3 -> io.fabric.sdk.android.services.concurrency.AsyncTask$3:
io.fabric.sdk.android.services.concurrency.AsyncTask$4 -> io.fabric.sdk.android.services.concurrency.AsyncTask$4:
io.fabric.sdk.android.services.concurrency.AsyncTask$AsyncTaskResult -> CoN.coN.coN.coN.coN.CoN.coN$coN:
io.fabric.sdk.android.services.concurrency.AsyncTask$InternalHandler -> CoN.coN.coN.coN.coN.CoN.coN$cON:
io.fabric.sdk.android.services.concurrency.AsyncTask$SerialExecutor -> CoN.coN.coN.coN.coN.CoN.coN$CoN:
io.fabric.sdk.android.services.concurrency.AsyncTask$SerialExecutor$1 -> io.fabric.sdk.android.services.concurrency.AsyncTask$SerialExecutor$1:
io.fabric.sdk.android.services.concurrency.AsyncTask$Status -> CoN.coN.coN.coN.coN.CoN.coN$CON:
io.fabric.sdk.android.services.concurrency.AsyncTask$WorkerRunnable -> CoN.coN.coN.coN.coN.CoN.coN$AUx:
It seems r8 1.5.21-dev (44b0356b65ab24779a8051c8f4dd50b0186437a8) don't shrink for class$[1-9]*.
Which change access policy, then throws IllegalAccessError.
mk...@google.com <mk...@google.com>
mk...@google.com <mk...@google.com> #7
This has been updated in version 1.4.94 for for the following commit:
https://r8.googlesource.com/r8/+/390954928f0db9c3b888a367f7f128ce3bbfb160
Could you try and use:
buildscript {
repositories {
maven {
url "http://storage.googleapis.com/r8-releases/raw "
}
}
dependencies {
classpath 'com.android.tools:r8:1.4.94' // Must be before the Gradle Plugin for Android.
classpath 'com.android.tools.build:gradle:X.Y.Z' // Your current AGP version.
}
}
to see if it works?
I will start looking into the other issue ASAP.
Could you try and use:
buildscript {
repositories {
maven {
url "
}
}
dependencies {
classpath 'com.android.tools:r8:1.4.94' // Must be before the Gradle Plugin for Android.
classpath 'com.android.tools.build:gradle:X.Y.Z' // Your current AGP version.
}
}
to see if it works?
I will start looking into the other issue ASAP.
do...@gmail.com <do...@gmail.com> #8
Thanks. It works now.
// However, there is other issue, I will create a new.
// However, there is other issue, I will create a new.
mk...@google.com <mk...@google.com> #9
Thank you so much for trying out the patch and thank you for creating a new issue for the other bug.
do...@gmail.com <do...@gmail.com> #10
Thanks for quick response and fix.
sa...@gmail.com <sa...@gmail.com> #11
TENGO PROBLEMAS A REALZAR LA APP
Description
It works well on method name, however, the field don't use the obfuscationdictionary, just default a, b, c, d and so.