I’m trying to build my react native app using expo and eas build in SDK 47. However, when I build in android, I get the following error in the ‘run gradlew’ section:
[stderr] /home/expo/workingdir/build/android/app/build/generated/rncli/src/main/java/com/facebook/react/PackageList.java:84: error: cannot find symbol
[stderr] new CodePush(getResources().getString(com.myapp.com.myapp.R.string.CodePushDeploymentKey), getApplicationContext(), com.myapp.com.myapp.BuildConfig.DEBUG),
[stderr] ^
[stderr] symbol: variable CodePushDeploymentKey
[stderr] location: class string
[stderr] 1 error
w: Detected multiple Kotlin daemon sessions at build/kotlin/sessions
[stderr] FAILURE: Build failed with an exception.
[stderr] * What went wrong:
[stderr] Execution failed for task ':app:compileReleaseJavaWithJavac'.
[stderr] > Compilation failed; see the compiler error output for details.
[stderr] * Try:
[stderr] > Run with --stacktrace option to get the stack trace.
[stderr] > Run with --info or --debug option to get more log output.
[stderr] > Run with --scan to get full insights.
[stderr] * Get more help at https://help.gradle.org
[stderr] BUILD FAILED in 8m 10s
Any advice?
2
Answers
I had the same problem: an error in "Run gredlew" in Android build (no problem with iOS build).
The good thing was that I already had a successful build with Expo SDK 47, so I began to downgrade one by one the third-party packages I am using to the same versions of that successful build.
In the end, the culprit was @stripe/stripe-react-native. The build was successful again reverting back to version 0.13.1 from 0.19.0.
In your case, it might be any other third-party package, so I suggest going through the same process.
Downgrading the stripe version is not a good idea specially if you are using google pay feature for your app, the reason is they have introduced the new branding for google pay button which is compliant with google guidelines. If you send the apk or android build to stores it will most probably get rejected.