React Native - Android Build Failed for app:transformClassesAndResourcesWithR8ForRelease Error
06 Oct 2019When Building Android App from React Native CLI, I got error:
> Task :app:transformClassesAndResourcesWithR8ForRelease
R8 is the new Android code shrinker. If you experience any issues, please file a bug at
https://issuetracker.google.com, using 'Shrinker (R8)' as component name. You can
disable R8 by updating gradle.properties with 'android.enableR8=false'.
Current version is: 1.4.94 (build 390954928f0db9c3b888a367f7f128ce3bbfb160 from go/r8bot (luci-r8-ci-archive-0-5g74)).
D8: Attribute Signature requires InnerClasses attribute. Check -keepattributes directive.
> Task :app:transformClassesAndResourcesWithR8ForRelease FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:transformClassesAndResourcesWithR8ForRelease'.
> com.android.tools.r8.CompilationFailedException: Compilation failed to complete
Dependency | Version |
---|---|
react-native | 0.60.4 |
google-service | 4.3.2 |
firebase-analytics | 17.2.0 |
Possible Solutions
Removing build files and caches
cd adnroid && ./gradlew clean
./gradlew assembleRelease
cd ..
It is the easiest way for the most of build failures, yet in my case it didn’t work.
Sync Project With Gradle File in Android studio
Open the project in Android Studio and click “Sync Project With Gradle File” button. Since I deleted node_modules and yarn.lock for previus iOS build failure, I thought I might have to sync my gradle file again.
It didn’t work.
Jetify
Since, I removed and reinstalled dependencies, I ran yarn jetify
.
It didn’t make build successful.
Disable R8
Build error seems to be related to R8, so I manually added android.enableR8 = false
to android/gradle.properties file.
Yet I encountered another build error:
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:transformClassesWithDexBuilderForRelease'.
> com.android.build.api.transform.TransformException: java.lang.ArrayIndexOutOfBoundsException
Downgrade Google Services Version
The latest dependency I added was things related to firebase-analytics. So I tried to check whether some of versions might not working with react-native project.
Dependency | Version |
---|---|
react-native | 0.60.4 |
google-services | 4.3.2 |
firebase-analytics | 17.2.0 |
So I commented each dependencies related to firebase, and test building. I found that “google-services” is the curprit. Downgrading “google-services version from 4.3.2 to 4.3.1 solved my build error.