Android Gradle Error: Could Not Load Custom Lint Check Jar Ffile

Platform: Android
Workflow: Bare
Expo: 4.12.11
Expo SDK: 43
Node: 16.13.0
Yarn: 1.22.17
React Native: 64.3
IDE: VS Code

After updating from SDK version 41 to 43, I receive this error when building Android platform. It’s started recently. The app loads fine in development with my dev and qa environment credentials. With the qa release channel being deployed to Google Play Store, it no longer works. I’ve deployed the iOS qa release channel to TestFlight and it works fine. Is there any configurations needed to be done in the package.json or app.json? It seems to be a pipeline issue with Expo. Please advise and see the error below. Thank you.

Could not load custom lint check jar file /root/.gradle/caches/transforms-3/b7b081b0ef20f0808f147dd05f365c64/transformed/jetified-ui-graphics-1.0.0-rc02/jars/lint.jar

java.lang.NoClassDefFoundError: com/android/tools/lint/client/api/Vendor"

The issue is that Expo hasn’t updated the rest of their packages/modules to meet their Expo 43 SDK standards. Their very own classes still use “apply plugin: ‘maven’” instead of “apply plugin: ‘maven-publish’” and they also include the uploadArchives element in the build.gradle. I’ve gone through each of the expo modules to find the build.gradle file as well as the build.gradle files in ./android and made those changes. I’m able to get a successful build when running the “./gradlew wrapper --gradle-version 7.3.1 --stacktrace” command.

I’m going to try and generate an apk without expo until this is resolved, and upload the apk to the Google Play Store myself.

Hopefully, the Expo team sees this and updates ALL of their packages/modules to function with their own SDK.

Hi @technology_eate

I’m not using the Bare workflow, but I’m just wondering what the underlying cause is of the issues you’re referring to. Because if I search the build.gradle files in my node_modules I do indeed find several instances of apply plugin: 'maven' in Expo packages, but I have not had a problem building the app using EAS Build.

I’m not very familiar with gradle, so would you mind pointing me at something that says why the change from 'maven' to 'maven-publish' is needed? Is it something to do with the version of gradle?


This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.