Fixed
Status Update
Comments
ch...@google.com <ch...@google.com> #2
Thanks for the report. It would be great if you could share the APK with christofferqa@google.com or sgjesse@google.com. Thanks!
sg...@google.com <sg...@google.com> #4
Fixed by https://r8-review.googlesource.com/c/r8/+/38949 and https://r8-review.googlesource.com/c/r8/+/39200 .
Merged to 1.5.44 (https://r8-review.googlesource.com/c/r8/+/39320 ).
You like you can try to use version 1.5.44, by adding the following to your top level build.gradle file:
buildscript {
repositories {
maven {
url 'http://storage.googleapis.com/r8-releases/raw '
}
}
dependencies {
classpath 'com.android.tools:r8:1.5.44' // Must be before the Gradle Plugin for Android.
classpath 'com.android.tools.build:gradle:X.Y.Z' // Your current AGP version.
}
}
Merged to 1.5.44 (
You like you can try to use version 1.5.44, by adding the following to your top level build.gradle file:
buildscript {
repositories {
maven {
url '
}
}
dependencies {
classpath 'com.android.tools:r8:1.5.44' // Must be before the Gradle Plugin for Android.
classpath 'com.android.tools.build:gradle:X.Y.Z' // Your current AGP version.
}
}
Description
Verifier rejected class com.android.tools.r8.GeneratedOutlineSupport: org.geogebra.android.main.AppA_ com.android.tools.r8.GeneratedOutlineSupport.outline101(org.androidannotations.api.view.OnViewChangedListener) failed to verify: org.geogebra.android.main.AppA_ com.android.tools.r8.GeneratedOutlineSupport.outline101(org.androidannotations.api.view.OnViewChangedListener): [0x3] 'this' argument 'Reference: org.androidannotations.api.view.OnViewChangedListener' not instance of 'Reference: android.support.v4.app.Fragment' (declaration of 'com.android.tools.r8.GeneratedOutlineSupport' appears in /data/app/org.geogebra.android-wwf0YsE-c890aTz-5U3gTQ==/base.apk)
at com.android.tools.r8.GeneratedOutlineSupport.outline99(Unknown Source:0)
at android.support.multidex.MultiDex.<clinit>(SourceFile:7)
at android.support.multidex.MultiDex.install(Unknown Source:0)
at android.support.multidex.MultiDexApplication.attachBaseContext(SourceFile:2)
at org.geogebra.android.android.GeoGebraApp.attachBaseContext(SourceFile:1)
at android.app.Application.attach(Application.java:213)
The class AppA is using the @EBean(scope=Ebean.Scope.Singleton) annotation, which generates a superclass containing
public static AppA_ getInstance_(Context context) {
if (instance_ == null) {
OnViewChangedNotifier previousNotifier = OnViewChangedNotifier.replaceNotifier(null);
instance_ = new AppA_(context.getApplicationContext());
instance_.init_();
OnViewChangedNotifier.replaceNotifier(previousNotifier);
}
return instance_;
}
You can see the code for OnViewChangeNotifier here:
This does not happen with Proguard. Unfortunatelly I can't share the whole project and I wasn't able to create a smaller example. I can share the .apk via email if it helps. Note that the project contains multiple classes with @EBean(scope=Ebean.Scope.Singleton), each of them has almost identical getInstance_ method.