Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Android release build fails #25482

Closed
ferostabio opened this issue Jul 3, 2019 · 14 comments
Closed

Android release build fails #25482

ferostabio opened this issue Jul 3, 2019 · 14 comments
Labels
Bug Platform: Android Android applications. Stale There has been a lack of activity on this issue and it may be closed soon.

Comments

@ferostabio
Copy link

Can't create an Android release build -debug works. A comment on a closed, related issue, says it's a matter of version conflict between react-native (0.59.x) and Gradle plugin (3.4.x).

Tried downgrading the plugin to 3.3.x (as other users did on the thread) and also upgraded RN to 0.60.0 which, according to the comment, supports 3.4.x. No matter the versions, issue persists.

React Native version:

System:
  OS: macOS 10.14.5
  CPU: (4) x64 Intel(R) Core(TM) i5-4250U CPU @ 1.30GHz
  Memory: 24.03 MB / 4.00 GB
  Shell: 3.2.57 - /bin/bash
Binaries:
  Node: 8.8.1 - /usr/local/bin/node
  npm: 4.6.1 - /usr/local/bin/npm
  Watchman: 4.9.0 - /usr/local/bin/watchman
SDKs:
  iOS SDK:
    Platforms: iOS 12.2, macOS 10.14, tvOS 12.2, watchOS 5.2
  Android SDK:
    API Levels: 23, 24, 25, 26, 27, 28
    Build Tools: 23.0.1, 25.0.0, 25.0.2, 26.0.0, 26.0.2, 27.0.3, 28.0.0, 28.0.2, 28.0.3
    System Images: android-24 | Google APIs Intel x86 Atom
IDEs:
  Android Studio: 3.4 AI-183.6156.11.34.5522156
  Xcode: 10.2.1/10E1001 - /usr/bin/xcodebuild
npmPackages:
  react: ^16.8.6 => 16.8.6 
  react-native: 0.59.8 => 0.59.8 
npmGlobalPackages:
  create-react-native-app: 1.0.0
  react-native-cli: 2.0.1
  react-native-git-upgrade: 0.2.7

Steps To Reproduce

  1. Create new React-Native project: react-native init appname
  2. Open appname project within Android Studio
  3. Change Build Variant from debug to release

What actually happens:

> Task :app:bundleReleaseJsAndAssets FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:bundleReleaseJsAndAssets'.
> A problem occurred starting process 'command '/Users/user/Code/appname/android/app/build/generated/assets/react/release/index.android.bundle.map''

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 39s

Stacktrace:

org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:bundleReleaseJsAndAssets'.Open stacktrace
Caused by: org.gradle.process.internal.ExecException: A problem occurred starting process 'command '/Users/user/Code/appname/android/app/build/generated/assets/react/release/index.android.bundle.map''Open stacktrace
Caused by: net.rubygrapefruit.platform.NativeException: Could not start '/Users/user/Code/appname/android/app/build/generated/assets/react/release/index.android.bundle.map'
at net.rubygrapefruit.platform.internal.DefaultProcessLauncher.start(DefaultProcessLauncher.java:27)
at net.rubygrapefruit.platform.internal.WrapperProcessLauncher.start(WrapperProcessLauncher.java:36)
at org.gradle.process.internal.ExecHandleRunner.startProcess(ExecHandleRunner.java:97)
at org.gradle.process.internal.ExecHandleRunner.run(ExecHandleRunner.java:70)
at org.gradle.internal.operations.CurrentBuildOperationPreservingRunnable.run(CurrentBuildOperationPreservingRunnable.java:42)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
Caused by: java.io.IOException: Cannot run program "/Users/user/Code/appname/android/app/build/generated/assets/react/release/index.android.bundle.map" (in directory "/Users/user/Code/appname"): error=2, No such file or directory
at net.rubygrapefruit.platform.internal.DefaultProcessLauncher.start(DefaultProcessLauncher.java:25)
at net.rubygrapefruit.platform.internal.WrapperProcessLauncher.start(WrapperProcessLauncher.java:36)
at org.gradle.process.internal.ExecHandleRunner.startProcess(ExecHandleRunner.java:97)
at org.gradle.process.internal.ExecHandleRunner.run(ExecHandleRunner.java:70)
at org.gradle.internal.operations.CurrentBuildOperationPreservingRunnable.run(CurrentBuildOperationPreservingRunnable.java:42)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
Caused by: java.io.IOException: error=2, No such file or directory
at net.rubygrapefruit.platform.internal.DefaultProcessLauncher.start(DefaultProcessLauncher.java:25)
at net.rubygrapefruit.platform.internal.WrapperProcessLauncher.start(WrapperProcessLauncher.java:36)
at org.gradle.process.internal.ExecHandleRunner.startProcess(ExecHandleRunner.java:97)
at org.gradle.process.internal.ExecHandleRunner.run(ExecHandleRunner.java:70)
at org.gradle.internal.operations.CurrentBuildOperationPreservingRunnable.run(CurrentBuildOperationPreservingRunnable.java:42)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)user
@react-native-bot
Copy link
Collaborator

It looks like you are using an older version of React Native. Please update to the latest release, v0.60 and verify if the issue still exists.

The "Resolution: Old Version" label will be removed automatically once you edit your original post with the results of running `react-native info` on a project using the latest release.

@ferostabio
Copy link
Author

Tried with 0.60.0 (as specified in the issue description), and issue still exists. So there are two things worth mentioning:

  • Given that the issue persists (and using different versions of Gradle Plugin), not sure it's RN version related.
  • Updating to 0.60.0 means breaking changes to the iOS project, so given the above, it would be great to have a fix/workaround/patch/anything for 0.59.x.

This is huge, can't release an update to the Android app -and I'm already wasting a lot of time with this, don't want to spend a considerable amount of time making the iOS app comply with 0.60.0 changes at the moment.

@genglei01
Copy link

I also have the same problem on rn0.59, and I resolved it by a workaround way as the following.
First, execute:
react-native bundle --platform android --entry-file index.js --reset-cache --bundle-output android/app/src/main/assets/index.android.bundle --dev false --assets-dest android/app/src/main/res/",

Then execute:./gradlew assembleRelease -x bundleReleaseJsAndAssets.

It resolved my problem but it is not a good way.
It seems that generating index.android.bundle failed, and need to do it manually.

@sbycrosz
Copy link

sbycrosz commented Jul 4, 2019

Hey, we ran into the same error but we managed to solve it by upgrading react-native-sentry and react-native-code-push

And then we run into different error :(

Cheers!

@ferostabio
Copy link
Author

Thanks to the previous comments, I believe I got it to work. Have to check if there are runtime issues, but the project now compiles in release mode, I already uploaded an alpha channel build to Google Play. There were some issues in between (as the comments say), so this is what I did:

  • I tried @genglei01 's way. But running ./gradlew assembleRelease -x bundleReleaseJsAndAssets caused compile-time issues with all of the libraries that use older versions of the SDK.
  • Then I followed @sbycrosz 's and upgraded react-native-sentry (don't use the other one)
  • Now I came back to building with Android Studio directly and it fails, but...
  • Because of duplicated resources. Caused by bundle command, I'm sure. I fixed the problem by adding the following lines to /android/app/build.gradle file (taken from this thread):
// Your app's build.gradle
apply plugin: 'com.android.app'

android {
   compileSdkVersion 27
   defaultConfig {
       appId "com.google.example.64bit"
       minSdkVersion 15
       targetSdkVersion 28
       versionCode 1
       versionName "1.0"
       ndk.abiFilters 'armeabi-v7a','arm64-v8a','x86','x86_64'
// ...

No errors now, project compiles, aab file is created succesfully. Hopefully you guys were able to fix the errors you had -were them the same?

@BipinBhandari
Copy link

./gradlew assembleRelease -x bundleReleaseJsAndAssets worked. But how to make it work on appcenter? Anyone did it?

@mezod
Copy link

mezod commented Jul 8, 2019

I can now make the .apks but not the .aab.

@mieszko4
Copy link

mieszko4 commented Jul 9, 2019

I am using rn 0.59.10 and I confirm, the problem for me was with react-native-sentry. I discovered it by commenting and rebuilding.
So I believe you can also go with this approach, comment one-by-one, build and check a which points it succeeds.

For example:

diff --git a/android/app/build.gradle b/android/app/build.gradle
index 252cbbae8..2d207dfab 100644
--- a/android/app/build.gradle
+++ b/android/app/build.gradle
@@ -90,7 +90,7 @@ project.ext.react = [
 
 apply from: "../../node_modules/react-native/react.gradle"
 apply from: "../../node_modules/react-native-code-push/android/codepush.gradle"
-apply from: "../../node_modules/react-native-sentry/sentry.gradle"
+//apply from: "../../node_modules/react-native-sentry/sentry.gradle"
 apply from: "../../node_modules/react-native-vector-icons/fonts.gradle"
 
 /**
@@ -195,7 +195,7 @@ dependencies {
     implementation project(':react-native-background-fetch')
     implementation project(':react-native-background-geolocation')
     implementation project(':react-native-onesignal')
-    implementation project(':react-native-sentry')
+    //implementation project(':react-native-sentry')
     implementation (project(':react-native-camera')) {
         exclude group: "com.google.android.gms"
         implementation 'com.android.support:exifinterface:25.+'
diff --git a/android/settings.gradle b/android/settings.gradle
index 6afeb3887..1cc99e883 100644
--- a/android/settings.gradle
+++ b/android/settings.gradle
@@ -17,8 +17,8 @@ include ':react-native-background-geolocation'
 project(':react-native-background-geolocation').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-background-geolocation/android')
 include ':react-native-onesignal'
 project(':react-native-onesignal').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-onesignal/android')
-include ':react-native-sentry'
-project(':react-native-sentry').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-sentry/android')
+//include ':react-native-sentry'
+//project(':react-native-sentry').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-sentry/android')
 include ':react-native-camera'
 project(':react-native-camera').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-camera/android')
 include ':@remobile-react-native-toast'

@mcuelenaere
Copy link
Contributor

We had the same issue, upgrading to a newer version of react-native-sentry fixed it for us.

@aminy
Copy link

aminy commented Aug 7, 2019

We had the same issue. upgrading to [email protected] fixed the issue.

@AndreTsao
Copy link

react-native-sentry is rubbish!!!

@lukebrandonfarrell
Copy link

@ferostar Thanks for the detailed breakdown, this helped me fix the issue.

I can confirm that upgrading Sentry to [email protected] worked with RN 0.59

@stale
Copy link

stale bot commented Nov 21, 2019

Hey there, it looks like there has been no activity on this issue recently. Has the issue been fixed, or does it still require the community's attention? This issue may be closed if no further activity occurs. You may also label this issue as a "Discussion" or add it to the "Backlog" and I will leave it open. Thank you for your contributions.

@stale stale bot added the Stale There has been a lack of activity on this issue and it may be closed soon. label Nov 21, 2019
@stale
Copy link

stale bot commented Nov 28, 2019

Closing this issue after a prolonged period of inactivity. If this issue is still present in the latest release, please feel free to create a new issue with up-to-date information.

@stale stale bot closed this as completed Nov 28, 2019
@facebook facebook locked as resolved and limited conversation to collaborators Nov 29, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Bug Platform: Android Android applications. Stale There has been a lack of activity on this issue and it may be closed soon.
Projects
None yet
Development

No branches or pull requests