Error building Cordova apk - android

I'm new to Cordova, I can run my code in the browser using cordova run browser but I would like to turn it into an apk so I can run it on my phone and really test it.
The developer I am working with sends me apk all the time built from the same files whenever he has an update on the project, however when I want to make minor changes myself I can't create an apk to test them because it throws an error.
cordova build android --release
Error: Error code 1 for command: cmd with args: /s,/c,"X:\Websites\AppAndroid\platforms\android\gradlew cdvBuildDebug -b X:\Websites\AppAndroid\platforms\android\build.gradle -Dorg.gradle.daemon=true -Pandroid.useDeprecatedNdk=true"
It also says this but I can't make sense of it with my limited knowledge
FAILURE: Build failed with an exception.
What went wrong:
Execution failed for task ':transformClassesWithDexForDebug'.
com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.7.0_79\bin\java.exe'' finished with non-zero exit value 1
I have tried some other solutions from other questions and YouTube videos such as setting my paths to JAVA and ANDROID_HOME but these didn't help my issue.
The read out also makes a suggestion, I tried this but it doesn't tell me anything extra in a log or fix the issue:
Try: Run with --stacktrace option to get the stack trace. Run with
--info or --debug option to get more log output.
UPDATE
I am wondering if it is my JAVA_HOME path.
That is set to 1.7.0_79
ANDROID_HOME=C:\User\Me\AppData\Local\Android\sdk JAVA_HOME=C:\Program
Files\java\jdk1.7.0_79
But when I do java -version I get this 1.8.0_121:
java version "1.8.0_121" Java(TM) SE Runtime Environment (build
1.8.0_121-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)
That's 2 different versions, but when I change JAVA_HOME in the environments window, it doesn't change JAVA_HOME that is displayed when I try to build the apk.
So I am unable to correct it to see if it fixes the error :\

I had configured JAVA_HOME wrong in my Environment Variables settings.
It was out of date compared to the Java I had installed.
Then when I tried to change it, I realised I didn't have the JDK installed, I only had JRE (Java Runtime Environment).
So I Googled javascript development kit download and was taken to the website and downloaded the JDK, then correctly set my paths in the Environment Variables settings to represent JDK not JRE.
I closed console and ran it all again and success, built!

Related

Is there a $PATH environment variable for Gradle commands within Android Studio?

I have a custom build script that runs an npm command. The command works on my command line, so its installed. But it doesnt run in Android Studio (Chipmunk 2021.2.1). Oddly, it used to run a couple weeks ago. Nothing has changed that I know of. The error is:
org.gradle.process.internal.ExecException: Process 'command 'npm'' finished with non-zero exit value 127
It looks like it cant find npm anymore because whatever AS is using as an environment PATH is out of sync with the system path (MacOS 12.4 zsh). How can I find and set the PATH Android Studio uses to find processes?
This question is similar but theres no answers for it.

React Native: fail while installing the "app". Error at executing gradlew.bat

​Well, I am trying to install all components to run React Native apps on my computer, but I have been working on this for four days and I always got the same error message:
error Failed to install the app. Make sure you have the Android development environment set up: https://reactnative.dev/docs/environment-setup. Run CLI with --verbose flag for more details.
Error: Command failed: gradlew.bat app:installDebug -PreactNativeDevServerPort=8081
​I reinstalled the components three times, but only some things changed, like the time that jumped from 30 minutes to 3 hours, and the quantity of text that shows on my screen.
​I tried a lot of solutions I found on the internet, like uninstall the global react-native-cli and use .\gradlew clean however it did not work because I got a message saying that "." is not recognized like a command. I really do not know how to correct it...
Bellow, my computer configurations:
System: Windows 7 professional SP1
Processor: Intel Atom CPU D525 #1.80Ghz 1.79GHz
RAM memory: 2,00GB
Type of system: 32-bit operating system
The React Native component versions I installed:
Chocolatey: v0.10.15
Node.js: v12.13.0
Npm: 6.12.0
Yarn: 1.22.5
Python: 2.7.18
JDK 8: 1.8.0_271
Android Studio: 3.6.3
Observations:
I also have Python 3.8 installed
I also tried the command line tools only before the Android Studio IDE
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:installDebug'.
> com.android.builder.testing.api.DeviceException: com.android.ddmlib.InstallException: Unknown failure: Exception occurred while executing:
android.os.ParcelableException: java.io.IOException: Requested internal only, but not enough space
at android.util.ExceptionUtils.wrap(ExceptionUtils.java:34)
at com.android.server.pm.PackageInstallerService.createSession(PackageInstallerService.java:413)
at com.android.server.pm.PackageManagerShellCommand.doCreateSession(PackageManagerShellCommand.java:2418)
at com.android.server.pm.PackageManagerShellCommand.runInstall(PackageManagerShellCommand.java:907)
at com.android.server.pm.PackageManagerShellCommand.onCommand(PackageManagerShellCommand.java:158)
at android.os.ShellCommand.exec(ShellCommand.java:103)
at com.android.server.pm.PackageManagerService.onShellCommand(PackageManagerService.java:22015)
at android.os.Binder.shellCommand(Binder.java:634)
at android.os.Binder.onTransact(Binder.java:532)
at android.content.pm.IPackageManager$Stub.onTransact(IPackageManager.java:2809)
at com.android.server.pm.PackageManagerService.onTransact(PackageManagerService.java:4070)
at android.os.Binder.execTransact(Binder.java:731)
Caused by: java.io.IOException: Requested internal only, but not enough space
at com.android.internal.content.PackageHelper.resolveInstallVolume(PackageHelper.java:232)
at com.android.internal.content.PackageHelper.resolveInstallVolume(PackageHelper.java:148)
at com.android.internal.content.PackageHelper.resolveInstallVolume(PackageHelper.java:163)
at com.android.server.pm.PackageInstallerService.createSessionInternal(PackageInstallerService.java:510)
at com.android.server.pm.PackageInstallerService.createSession(PackageInstallerService.java:411)
... 10 more
* 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 1h 47m 4s
error Failed to install the app. Make sure you have the Android development environment set up: https://reactnative.dev/docs/environment-setup. Run CLI with --verbose flag for more details.
Error: Command failed: gradlew.bat app:installDebug -PreactNativeDevServerPort=8081
Note: C:\Users\myusername\Desktop\appproject1\android\app\src\debug\java\com\appproject1\ReactNativeFlipper.java uses or overrides a deprecated API.
C:\Users\myusername\Desktop\appproject1>
​ I apologize for not being able to give you more information. I ask you to help me, please.
Edit:
I would like to give some tips about problems I got when trying to use react-native:
Low space on the smartphone. Please try to install something in the store, if you cannot do it, you need to free some space.
Some problems could be solved only by trying to run the project by Android Studio, please try it too.
Cache may be your problem. Try it inside the project folder:
cd android
gradlew clean
after it, run the project again returning to the project folder using cd ..:
cd ..
react-native run-android
Issue:
> Caused by: java.io.IOException: Requested internal only, but not enough space
solution -1-
replace
android:installLocation="internalOnly"
with
android:installLocation="preferExternal"
solution -2-
make some space on the device / emulator

ERROR: An error occurred while running subprocess cordova

I build an app on Ionic framework, it works on the browser but when I try to compile it on the emulator I have got this error:
Checking Java JDK and Android SDK versions
ANDROID_SDK_ROOT=undefined (recommended setting)
ANDROID_HOME=C:\Users\user\AppData\Local\Android\Sdk (DEPRECATED)
Starting a Gradle Daemon (subsequent builds will be faster)
FAILURE: Build failed with an exception.
What went wrong:
Unable to start the daemon process.
This problem might be caused by incorrect configuration of the daemon.
For example, an unrecognized jvm option is used.
Please refer to the User Manual chapter on the daemon at https://docs.gradle.org/5.3.1/userguide/gradle_daemon.html
Process command line: C:\Program Files (x86)\Java\jdk1.8.0_201\bin\java.exe -Xmx2048m -Dfile.encoding=windows-1252 -Duser.country=SA -Duser.language=ar -Duser.variant -cp C:\Gradle\gradle-5.3.1\lib\gradle-launcher-5.3.1.jar org.gradle.launcher.daemon.bootstrap.GradleDaemon 5.3.1
Please read the following process output to find out more:
Error occurred during initialization of VM
Could not reserve enough space for 2097152KB object heap
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
C:\Gradle\gradle-5.3.1\bin\gradle: Command failed with exit code 1
[ERROR] An error occurred while running subprocess cordova.
cordova run android exited with exit code 1.
Re-running this command with the --verbose flag may provide more information.
This is because the path to Android Sdk is not set correctly. Please check the correct path for Sdk, tools, platform-tools, emulator and Android build-tools.
Please, realize that the configuration recommended for Ionic has changed a
bit. Now the notation recommended is as follows:
ANDROID_SDK_ROOT=/home/username/Android/Sdk (recommended setting)
ANDROID_HOME=/home/username/Android/Sdk (DEPRECATED)
In Linux or Mac OS X configure the path into the ~/.bashrc, ~/.bash_profile file:
export ANDROID_SDK_ROOT=$HOME/Android/Sdk
export PATH=$PATH:$ANDROID_SDK_ROOT/tools/bin
export PATH=$PATH:$ANDROID_SDK_ROOT/platform-tools
export PATH=$PATH:$ANDROID_SDK_ROOT/emulator
export PATH=$PATH:$ANDROID_SDK_ROOT/build-tools
At the end, after save the configuration dont forget to do the command:
source ~/.bashrc
or as your case
source ~/.bash_profile
For the Windows users check the global variables.
Try to Run npm cache clean and re-install cordova...worked for me.
I finally found the solution from a related solved topic: The solution is:
ionic platform rm android
ionic platform add android#latest
ionic resources
ionic run android
ionic repair worked for me. Just give it a try and see if that works for you. Good luck!

nativescript sample projects fail with error Command ant failed with exit code 1

I went through the setup steps - on mac - but the sample nativescript projects all fail with the same error.
"Command ant failed with exit code 1"
Here is the log trace:
https://gist.github.com/getsetbro/c0225e8fc493d57b3f64
Other info
Android Studio on this mac run projects fine in emulators and connected devices
The same projects run in ios emulator without errors.
I installed JDK 8, never had version 7 on this system.
I see the following error in the logs.
Cannot run program "/Users/sb/Documents/Dev/nativescript/test_nativescript/platforms/android/${aapt}"
I might be wrong but it seems aapt tool is missing from your $PATH environment variable. If this is the case, try adding <ANDROID_SDK_ROOT>/tools to $PATH

VM error while Build Cordova PhoneGap

I got this error while i tried to create a Cordova PhoneGap application, and in the final step while I use the build command
cordova build android
I got this error:
Error
D:\rmapp>cordova run android
Running command: D:\rmapp\platforms\android\cordova\run.bat
ANDROID_HOME=D:\Android\sdk
JAVA_HOME=C:\Program Files (x86)\Java\jdk1.7.0_71
WARNING : No target specified, deploying to device '192.168.56.100:5555'.
Running: D:\rmapp\platforms\android\gradlew cdvBuildDebug -b D:\rmapp\platform
s\android\build.gradle -PcdvBuildArch=x86 -Dorg.gradle.daemon=true
FAILURE: Build failed with an exception.
* What went wrong:
Unable to start the daemon process.
This problem might be caused by incorrect configuration of the daemon.
For example, an unrecognized jvm option is used.
Please refer to the user guide chapter on the daemon at http://gradle.org/docs/2
.2.1/userguide/gradle_daemon.html
Please read the following process output to find out more:
-----------------------
Error occurred during initialization of VM
Could not reserve enough space for object heap
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug
option to get more log output.
D:\rmapp\platforms\android\cordova\node_modules\q\q.js:126
throw e;
^
Error code 1 for command: cmd with args: /s /c "D:\rmapp\platforms\android\grad
lew cdvBuildDebug -b D:\rmapp\platforms\android\build.gradle -PcdvBuildArch=x86
-Dorg.gradle.daemon=true"
ERROR running one or more of the platforms: Error: D:\rmapp\platforms\android\c
ordova\run.bat: Command failed with exit code 1
You may not have the required environment or OS to run this project
Your system can not provide enough continuous memory space for the jvm and causes the problem.
Here is what works for me:
Add an environment variable GRADLE_OPTS with the value of -Dorg.gradle.jvmargs=-Xmx512m
You can use -Xmx1g if you have more memory space available.
Close Visual Studio -- at least this was the problem in my case.
and/or any other memory intensive program.
My JAVA_HOME was defaulting to the x86 version. Adding a new JAVA_HOME variable in the System env variable and pointing it to the x64 version worked for me. This was the path I ended up with:
C:\Program Files\Java\jdk1.8.0_162
I had the same problem too. Try to run command line with administrative privileges.
just solved this problem in windows 8.1 and windows 7. Here is what I did:
Uninstall everything that is java related in your Programs and Features in control panel
check the following directory and delete the java folders:
a. c:\users\\AppData\Local\Oracle
b. c:\users\\AppData\LocalLow\Oracle
c. c:\Program Files\Java
d. C:\Program Files (x86)\Java
e. C:\ProgramData\Oracle
**IMPORTANT: only delete this folders after successfully uninstalling all java entries in control panel > Programs and Features
Download and install the latest Java SDK from here
After all you are done go to cmd(run as admin) and try to build again
conclusion: from what I understand, I do not have java properly configured/installed in my machine. so a clean install of everything is what solved my problem.
I got this error even if I used 2 gigs (-Dorg.gradle.jvmargs=-Xmx2048m), but it started to work when I changed JAVA_HOME to a 64-bit JDK directory. Using a higher version of Java might help also (1.8+).
Change argument -Xmx20484m to 1024 at line:
args.push('-Dorg.gradle.jvmargs=-Xmx1024m');
in your project file
platforms\android\cordova\lib\builders\GradleBuilder.js
.
It's work for me
https://forum.ionicframework.com/t/build-failed-unable-start-the-daemon-process/72171
It work for me in eclipce phonegap plugin
In Environment variables, add a system variable _JAVA_OPTIONS having the value -Xmx512M.
Run the following command in CLI with admin right.
>export _JAVA_OPTIONS="-Xmx256M"
This happens to me on machines with a lot of ram, but with lower memory ulimits. Java decides to allocate a big heap because it detects the ram in the machine, but it's not allowed to allocate it because of ulimits.
I had the same problem while I was working on Cordova.
As mentioned in this post, it looks like the heap is not allocated and so the JVM isn't initialized.
Try to free your system cache and then try building the project.
This error happens to me from time to time. I fix this by running the program "SDK Manager" in ANDROID_HOME folder.
I got this error because I didn't have a 32-bit JDK installed. Installed that, restarted and that fixed it.
My solution was to just install the new Java SDK. I also had to change my JAVA_HOME Path to point to that new SDK
I had had the same problem with my cordova project when I have installed the last version of JDK 1.8.0.121.
To solve the problem, I have uninstalled all my JDK versions (1.6, 1.7, 1.8..) and just installed the last version.
Install 64bit version of Java JDK and point JAVA_HOME to the install dictionary.
I had a very similar problem that sometimes logged this JAVAC error and other times logged device connection problems or plugin not correctly installed. Ex:
Failed to run "javac -version"
Execute program failed with exit code 3221225794.
I successfully fixed it by running the following command that fixes all DLL problems on Windows, and then restarting the computer.
From powershell, admin may be required:
sfc /scannow
You need to allocate memory by setting two environment variables:
_JAVA_OPTIONS with value -Xmx2048M, to set up how much memory Java uses
GRADLE_OPTS with value -Dorg.gradle.jvmargs=-Xmx2048m, to set up how much memory Gradle uses (this can be specified by per project basis through [PROJECT PATH]\platforms\android\cordova\lib\builders\GradleBuilder.js path, although by default it's setup to be 2GB atm)
If cordova complains with Failed to run "javac -version" change the memory in _JAVA_OPTIONS for something lower.

Categories

Resources