phonegap run android fails with "...\classes.dex does not exist" - android

Just installed phonegap on windows 7 64bit and have run :
phonegap create testpg
cd testpg
phonegap -V run andoid
The last command aborts with the following error message:
[phonegap] detecting Android SDK environment...
[phonegap] using the local environment
[phonegap] compiling Android...
[phonegap] Generating config.xml from defaults for platform "android"
[phonegap] Compiling app on platform "android" via command "cmd" /c D:\Dev\projects\testpg\platforms\android\cordova\build
[error] An error occurred while building the android project.Error executing "ant debug -f "D:\Dev\projects\testpg\platforms\android\build.xml"":
BUILD FAILED
D:\Dev\sdk\tools\ant\build.xml:962: The following error occurred while executing this line:
D:\Dev\sdk\tools\ant\build.xml:973: The following error occurred while executing this line:
D:\Dev\sdk\tools\ant\build.xml:313: com.android.sdklib.build.ApkCreationException: java.io.FileNotFoundException: D:\Dev\projects\testpg\platforms\android\bin\classes.dex does not exist
Does anyone knows what's going on and how i can fix this?
Thanks in advance!
PS. i tried and run "ant debug -f "D:\Dev\projects\testpg\platforms\android\build.xml"":
and it gives quite verbose output. here is the last part :
......................
-dex:
[dex] input: D:\Dev\projects\testpg\platforms\android\bin\classes
[dex] input: D:\Dev\projects\testpg\platforms\android\CordovaLib\bin\classes.jar
[dex] Pre-Dexing D:\Dev\projects\testpg\platforms\android\CordovaLib\bin\classes.jar -> classes-529c048069aff9da86f06bdc712f5b33.jar
[dex] Found Deleted Target File
[dex] Converting compiled files and external libraries into D:\Dev\projects\testpg\platforms\android\bin\classes.dex...
-crunch:
[crunch] Crunching PNG Files in source dir: D:\Dev\projects\testpg\platforms\android\res
[crunch] To destination dir: D:\Dev\projects\testpg\platforms\android\bin\res
[crunch] Crunched 0 PNG files to update cache
-package-resources:
[aapt] Creating full resource package...
[aapt] Warning: AndroidManifest.xml already defines debuggable (in http://schemas.android.com/apk/res/an...); using existing value in
manifest.
-package:
[apkbuilder] Current build type is different than previous build: forced apkbuilder run.
[apkbuilder] Creating HelloWorld-debug-unaligned.apk and signing it with a debug key...
BUILD FAILED
D:\Dev\sdk\tools\ant\build.xml:962: The following error occurred while executing this line:
D:\Dev\sdk\tools\ant\build.xml:973: The following error occurred while executing this line:
D:\Dev\sdk\tools\ant\build.xml:313: com.android.sdklib.build.ApkCreationException: java.io.FileNotFoundException: D:\Dev\projects\testpg\platforms\android\bin\classes.dex does not exist
....................
interestingly there is a line that says "[dex] Converting compiled files and external libraries into D:\Dev\projects\testpg\platforms\android\bin\classes.dex..." and yet in the end build fails with "java.io.FileNotFoundException: D:\Dev\projects\testpg\platforms\android\bin\classes.dex does not exist"

Try rebuilding the project..
Go to Build > Make Project (ctrl + f9).
and run again
it worked for me..

Related

Android - Copy build output to another folder with Gradle

I am trying to build my React Native Android app on Visual Studio App Center and I get this error:
Task : Shell script
Description : Run a shell script using Bash
Version : 2.165.0
Author : Microsoft Corporation
Help : https://learn.microsoft.com/azure/devops/pipelines/tasks/utility/shell-script
==============================================================================
[command]/bin/bash /Users/runner/runners/2.165.2/scripts/android-postprocess.sh /Users/runner/runners/2.165.2/work/1/s/mobile/android/app/app/build/outputs/apk
Removing all ABI or density dependent APKsā€¦
find: /Users/runner/runners/2.165.2/work/1/s/mobile/android/app/app/build/outputs/apk: No such file or directory
find: /Users/runner/runners/2.165.2/work/1/s/mobile/android/app/app/build/outputs/apk: No such file or directory
find: /Users/runner/runners/2.165.2/work/1/s/mobile/android/app/app/build/outputs/apk: No such file or directory
Found 0 APK file(s)
Found 0 unaligned APK file(s)
find: /Users/runner/runners/2.165.2/work/1/s/mobile/android/app/app/build/outputs/apk: No such file or directory
/Users/runner/runners/2.165.2/scripts/android-postprocess.sh: line 36: pushd: /Users/runner/runners/2.165.2/work/1/s/mobile/android/app/app/build/outputs/apk/..: No such file or directory
/Users/runner/runners/2.165.2/scripts/android-postprocess.sh: line 43: popd: directory stack empty
##[error]The process '/bin/bash' failed with exit code 1
##[error]Bash failed with error: The process '/bin/bash' failed with exit code 1
##[section]Finishing: Android Postprocess
##[section]Starting: Post Build Script
It's incorrectly looking for my APK in the app/app/build/... instead of app/build/...So I want to copy the files to app/app/build/.. so it finds them there.
I can't copy the files with a post-build script because it runs after the script that throws the error.
Is it possible to somehow achieve copying with Gradle? Or maybe have multiple build paths? Or some other solution?
The problem was that I had gradlew, gradlew.bat and gradle folder in my appmodule folder. I must have mistakenly opened the app folder alone in Android Studio and synced the project.
I solved it by creating a fresh React Native project.

QtCreator can't even build empty project - The following error occurred while executing this line

I get some very unhelpful errors from Qt creator, which I have just installed using tutorial on Qt website.
-dex:
[dex] input: D:\techsys\build-androidtest-Android_for_armeabi_v7a_GCC_4_9_Qt_5_5_1-Debug\android-build\bin\classes
[dex] input: D:\techsys\build-androidtest-Android_for_armeabi_v7a_GCC_4_9_Qt_5_5_1-Debug\android-build\libs\QtAndroid-bundled.jar
[dex] input: D:\techsys\build-androidtest-Android_for_armeabi_v7a_GCC_4_9_Qt_5_5_1-Debug\android-build\libs\QtAndroidAccessibility-bundled.jar
[dex] Pre-Dexing D:\techsys\build-androidtest-Android_for_armeabi_v7a_GCC_4_9_Qt_5_5_1-Debug\android-build\libs\QtAndroid-bundled.jar -> QtAndroid-bundled-15710ac48ee3b8e0790e2c0724eced85.jar
[dx] Error occurred during initialization of VM
[dx] Could not reserve enough space for object heap
[dx] Error: Could not create the Java Virtual Machine.
[dx] Error: A fatal exception has occurred. Program will exit.
BUILD FAILED
C:\Users\mareda\AppData\Local\Android\android-sdk\tools\ant\build.xml:888: The following error occurred while executing this line:
C:\Users\mareda\AppData\Local\Android\android-sdk\tools\ant\build.xml:890: The following error occurred while executing this line:
C:\Users\mareda\AppData\Local\Android\android-sdk\tools\ant\build.xml:902: The following error occurred while executing this line:
C:\Users\mareda\AppData\Local\Android\android-sdk\tools\ant\build.xml:283: null returned: 1
Total time: 1 second
Building the android package failed!
-- For more information, run this command with --verbose.
11:50:50: The process "C:\Qt\android.5.5.1\5.5\android_armv7\bin\androiddeployqt.exe" exited with code 14.
Error while building/deploying project androidtest (kit: Android for armeabi-v7a (GCC 4.9, Qt 5.5.1))
When executing step "Build Android APK"
11:50:50: Elapsed time: 00:05.
I don't really get what does it mean. This is my configuration:
I also tried selecting Use Gradle instead of Ant. it didn't affect anything. What expecially freaks me out is the awkward error: The following error occurred while executing this line: without mentioning any actual error.
Here is how to fix it:
Go to Start->Control Panel->System->Advanced(tab)->Environment Variables->System Variables->New:
Variable name: _JAVA_OPTIONS
Variable value: -Xmx512M
Variable name: Path
Variable value: ;C:\Program Files\Java\jre6\bin;F:\JDK\bin;
Change this to your appropriate path.
The problem related with memory. You must have enough RAM on system. If not then please add large swap. This would allow dx to complete build and not die in middle. I was facing this issue on small VPS node. Now its fixed.

How to execute an Meteor+Cordova tutorial (like SoLoMo) on my Samsung Galaxy S3

My goal is to develop an android app, which has a survey like functionality. So I experiment with Meteor and Cordova (also to learn the frameworks).
My substep: Running one of the tutorials on my Android device: Samsung Galaxy S3 fails.
That's how I start the app, while being in the directory /var/www/node_development/tutorials/solomo:
meteor run android-device -p 192.168.178.21:3000 --verbose
Here are the last lines from the --verbose log:
-dex:
[echo] Library project: do not convert bytecode...
-crunch:
[crunch] Crunching PNG Files in source dir: /var/www/node_development/tutorials/solomo/.meteor/local/cordova-build/platforms/android/CordovaLib/res
[crunch] To destination dir: /var/www/node_development/tutorials/solomo/.meteor/local/cordova-build/platforms/android/CordovaLib/ant-build/res
[crunch] Crunched 0 PNG files to update cache
-package-resources:
[echo] Library project: do not package resources...
-package:
[echo] Library project: do not package apk...
-post-package:
-do-debug:
[echo] Library project: do not create apk...
[propertyfile] Updating property file: /var/www/node_development/tutorials/solomo/.meteor/local/cordova-build/platforms/android/CordovaLib/ant-build/build.prop
[propertyfile] Updating property file: /var/www/node_development/tutorials/solomo/.meteor/local/cordova-build/platforms/android/CordovaLib/ant-build/build.prop
[propertyfile] Updating property file: /var/www/node_development/tutorials/solomo/.meteor/local/cordova-build/platforms/android/CordovaLib/ant-build/build.prop
[propertyfile] Updating property file: /var/www/node_development/tutorials/solomo/.meteor/local/cordova-build/platforms/android/CordovaLib/ant-build/build.prop
-post-build:
debug:
-code-gen:
[mergemanifest] Found Deleted Target File
[mergemanifest] Merging AndroidManifest files into one.
[mergemanifest] Manifest merger disabled. Using project manifest only.
[echo] Handling aidl files...
[aidl] No AIDL files to compile.
[echo] ----------
[echo] Handling RenderScript files...
[echo] ----------
[echo] Handling Resources...
[aapt] Found new input file
[aapt] Generating resource IDs...
[echo] ----------
[echo] Handling BuildConfig class...
[buildconfig] No need to generate new BuildConfig.
-pre-compile:
[echo] Set jars path to: /var/www/node_development/tutorials/solomo/.meteor/local/cordova-build/platforms/android/CordovaLib/ant-build/classes.jar
-compile:
[javac] Compiling 2 source files to /var/www/node_development/tutorials/solomo/.meteor/local/cordova-build/platforms/android/ant-build/classes
I20150629-10:36:48.553(2)? - waiting for device -
[javac] warning: [options] source value 1.5 is obsolete and will be removed in a future release
[javac] warning: [options] target value 1.5 is obsolete and will be removed in a future release
[javac] warning: [options] To suppress warnings about obsolete options, use -Xlint:-options.
[javac] 3 warnings
-post-compile:
-obfuscate:
-dex:
[dex] input: /var/www/node_development/tutorials/solomo/.meteor/local/cordova-build/platforms/android/ant-build/classes
[dex] input: /var/www/node_development/tutorials/solomo/.meteor/local/cordova-build/platforms/android/CordovaLib/ant-build/classes.jar
[dex] Using Pre-Dexed classes-4340c49ff3fe08c4129acefebb6bbc29.jar <- /var/www/node_development/tutorials/solomo/.meteor/local/cordova-build/platforms/android/CordovaLib/ant-build/classes.jar
[dex] Found modified input file
[dex] Converting compiled files and external libraries into /var/www/node_development/tutorials/solomo/.meteor/local/cordova-build/platforms/android/ant-build/classes.dex...
=> Started your app.
=> App running at: http://192.168.178.21:3000/
[dx] Merged dex A (94 defs/130,6KiB) with dex B (207 defs/313,5KiB). Result is 301 defs/539,9KiB. Took 0,8s
-crunch:
[crunch] Crunching PNG Files in source dir: /var/www/node_development/tutorials/solomo/.meteor/local/cordova-build/platforms/android/res
[crunch] To destination dir: /var/www/node_development/tutorials/solomo/.meteor/local/cordova-build/platforms/android/ant-build/res
[crunch] Processing image to cache: /var/www/node_development/tutorials/solomo/.meteor/local/cordova-build/platforms/android/res/drawable-hdpi/icon.png => /var/www/node_development/tutorials/solomo/.meteor/local/cordova-build/platforms/android/ant-build/res/drawable-hdpi/icon.png
[crunch] (processed image to cache entry /var/www/node_development/tutorials/solomo/.meteor/local/cordova-build/platforms/android/ant-build/res/drawable-hdpi/icon.png: 0% size of source)
[crunch] Processing image to cache: /var/www/node_development/tutorials/solomo/.meteor/local/cordova-build/platforms/android/res/drawable-land-hdpi/screen.png => /var/www/node_development/tutorials/solomo/.meteor/local/cordova-build/platforms/android/ant-build/res/drawable-land-hdpi/screen.png
[crunch] (processed image to cache entry /var/www/node_development/tutorials/solomo/.meteor/local/cordova-build/platforms/android/ant-build/res/drawable-land-hdpi/screen.png: 27% size of source)
[crunch] Processing image to cache: /var/www/node_development/tutorials/solomo/.meteor/local/cordova-build/platforms/android/res/drawable-land-ldpi/screen.png => /var/www/node_development/tutorials/solomo/.meteor/local/cordova-build/platforms/android/ant-build/res/drawable-land-ldpi/screen.png
[crunch] (processed image to cache entry /var/www/node_development/tutorials/solomo/.meteor/local/cordova-build/platforms/android/ant-build/res/drawable-land-ldpi/screen.png: 0% size of source)
[crunch] Processing image to cache: /var/www/node_development/tutorials/solomo/.meteor/local/cordova-build/platforms/android/res/drawable-land-mdpi/screen.png => /var/www/node_development/tutorials/solomo/.meteor/local/cordova-build/platforms/android/ant-build/res/drawable-land-mdpi/screen.png
[crunch] (processed image to cache entry /var/www/node_development/tutorials/solomo/.meteor/local/cordova-build/platforms/android/ant-build/res/drawable-land-mdpi/screen.png: 38% size of source)
[crunch] Processing image to cache: /var/www/node_development/tutorials/solomo/.meteor/local/cordova-build/platforms/android/res/drawable-land-xhdpi/screen.png => /var/www/node_development/tutorials/solomo/.meteor/local/cordova-build/platforms/android/ant-build/res/drawable-land-xhdpi/screen.png
[crunch] (processed image to cache entry /var/www/node_development/tutorials/solomo/.meteor/local/cordova-build/platforms/android/ant-build/res/drawable-land-xhdpi/screen.png: 34% size of source)
[crunch] Processing image to cache: /var/www/node_development/tutorials/solomo/.meteor/local/cordova-build/platforms/android/res/drawable-ldpi/icon.png => /var/www/node_development/tutorials/solomo/.meteor/local/cordova-build/platforms/android/ant-build/res/drawable-ldpi/icon.png
[crunch] (processed image to cache entry /var/www/node_development/tutorials/solomo/.meteor/local/cordova-build/platforms/android/ant-build/res/drawable-ldpi/icon.png: 0% size of source)
[crunch] Processing image to cache: /var/www/node_development/tutorials/solomo/.meteor/local/cordova-build/platforms/android/res/drawable-port-hdpi/screen.png => /var/www/node_development/tutorials/solomo/.meteor/local/cordova-build/platforms/android/ant-build/res/drawable-port-hdpi/screen.png
[crunch] (processed image to cache entry /var/www/node_development/tutorials/solomo/.meteor/local/cordova-build/platforms/android/ant-build/res/drawable-port-hdpi/screen.png: 26% size of source)
[crunch] Processing image to cache: /var/www/node_development/tutorials/solomo/.meteor/local/cordova-build/platforms/android/res/drawable-port-ldpi/screen.png => /var/www/node_development/tutorials/solomo/.meteor/local/cordova-build/platforms/android/ant-build/res/drawable-port-ldpi/screen.png
[crunch] (processed image to cache entry /var/www/node_development/tutorials/solomo/.meteor/local/cordova-build/platforms/android/ant-build/res/drawable-port-ldpi/screen.png: 0% size of source)
[crunch] Processing image to cache: /var/www/node_development/tutorials/solomo/.meteor/local/cordova-build/platforms/android/res/drawable-port-mdpi/screen.png => /var/www/node_development/tutorials/solomo/.meteor/local/cordova-build/platforms/android/ant-build/res/drawable-port-mdpi/screen.png
[crunch] (processed image to cache entry /var/www/node_development/tutorials/solomo/.meteor/local/cordova-build/platforms/android/ant-build/res/drawable-port-mdpi/screen.png: 0% size of source)
[crunch] Processing image to cache: /var/www/node_development/tutorials/solomo/.meteor/local/cordova-build/platforms/android/res/drawable-port-xhdpi/screen.png => /var/www/node_development/tutorials/solomo/.meteor/local/cordova-build/platforms/android/ant-build/res/drawable-port-xhdpi/screen.png
[crunch] (processed image to cache entry /var/www/node_development/tutorials/solomo/.meteor/local/cordova-build/platforms/android/ant-build/res/drawable-port-xhdpi/screen.png: 34% size of source)
[crunch] Processing image to cache: /var/www/node_development/tutorials/solomo/.meteor/local/cordova-build/platforms/android/res/drawable-xhdpi/icon.png => /var/www/node_development/tutorials/solomo/.meteor/local/cordova-build/platforms/android/ant-build/res/drawable-xhdpi/icon.png
[crunch] (processed image to cache entry /var/www/node_development/tutorials/solomo/.meteor/local/cordova-build/platforms/android/ant-build/res/drawable-xhdpi/icon.png: 0% size of source)
[crunch] Crunched 11 PNG files to update cache
-package-resources:
[aapt] Found modified input file
[aapt] Creating full resource package...
[aapt] Warning: AndroidManifest.xml already defines debuggable (in http://schemas.android.com/apk/res/android); using existing value in manifest.
-package:
[apkbuilder] Found modified input file
[apkbuilder] Creating solomo-debug-unaligned.apk and signing it with a debug key...
-post-package:
-do-debug:
[zipalign] Running zip align on final apk...
[echo] Debug Package: /var/www/node_development/tutorials/solomo/.meteor/local/cordova-build/platforms/android/ant-build/solomo-debug.apk
[propertyfile] Updating property file: /var/www/node_development/tutorials/solomo/.meteor/local/cordova-build/platforms/android/ant-build/build.prop
[propertyfile] Updating property file: /var/www/node_development/tutorials/solomo/.meteor/local/cordova-build/platforms/android/ant-build/build.prop
[propertyfile] Updating property file: /var/www/node_development/tutorials/solomo/.meteor/local/cordova-build/platforms/android/ant-build/build.prop
[propertyfile] Updating property file: /var/www/node_development/tutorials/solomo/.meteor/local/cordova-build/platforms/android/ant-build/build.prop
-post-build:
[move] Moving 1 file to /var/www/node_development/tutorials/solomo/.meteor/local/cordova-build/platforms/android/ant-build
[move] Moving 1 file to /var/www/node_development/tutorials/solomo/.meteor/local/cordova-build/platforms/android/CordovaLib/ant-build
debug:
BUILD SUCCESSFUL
Total time: 31 seconds
/var/www/node_development/tutorials/solomo/.meteor/local/cordova-build/platforms/android/cordova/node_modules/q/q.js:126
throw e;
^
ERROR: Failed to launch application on device: ERROR: Failed to install apk to device: ERROR: Failed to deploy to device, no devices found.
Command finished with error code 8: /var/www/node_development/tutorials/solomo/.meteor/local/cordova-build/platforms/android/cordova/run --device
Error: /var/www/node_development/tutorials/solomo/.meteor/local/cordova-build/platforms/android/cordova/run: Command failed with exit code 8
at ChildProcess.whenDone (/home/tokam/.meteor/packages/meteor-tool/.1.0.35.1ahmcpn++os.linux.x86_64+web.browser+web.cordova/meteor-tool-os.linux.x86_64/dev_bundle/lib/node_modules/cordova/node_modules/cordova-lib/src/cordova/superspawn.js:135:23)
at ChildProcess.emit (events.js:98:17)
at maybeClose (child_process.js:755:16)
at Process.ChildProcess._handle.onexit (child_process.js:822:5)
Could not start the app on your device. Is it plugged in?
Try running again with the --verbose option.
Instructions for running your app on an Android device:
https://github.com/meteor/meteor/wiki/How-to-run-your-app-on-an-Android-device
tokam#localhost:/var/www/node_development/tutorials/solomo$ adb devices
adb server is out of date. killing...
cannot bind 'tcp:5037'
ADB server didn't ACK
* failed to start daemon *
error:
tokam#localhost:/var/www/node_development/tutorials/solomo$
tokam#localhost:/var/www/node_development/tutorials/solomo$
tokam#localhost:/var/www/node_development/tutorials/solomo$ clear
tokam#localhost:/var/www/node_development/tutorials/solomo$ killall adb
tokam#localhost:/var/www/node_development/tutorials/solomo$ adb devices > /tmp/log
tokam#localhost:/var/www/node_development/tutorials/solomo$ meteor run android-device -p 192.168.178.21:3000 --verbose > /tmp/log
%% Parsing the --port option
%% Will compile mobile builds
%% Running build for platforms: [ 'android' ]
%% Building the cordova build project
%% Bundling the web.cordova program of the app
%% Ensuring the cordova build project
%% Reading the mobile control file
%% Running the mobile control file
%% Copying resources for mobile apps
%% Writing new config.xml
%% Ensuring that platforms in cordova build project are in sync
%% Running synchronously: /home/tokam/.meteor/packages/meteor-tool/.1.0.35.1ahmcpn++os.linux.x86_64+web.browser+web.cordova/meteor-tool-os.linux.x86_64/tools/cordova-scripts/cordova.sh [ 'platform', 'list' ]
%% The output of `cordova platforms list`: Installed platforms: android 3.5.1
Available platforms: amazon-fireos, blackberry10, firefoxos, ubuntu
%% The platform is not in the Cordova project: ios
%% Ensuring plugins in the cordova build project are in sync { 'org.apache.cordova.console': '0.2.10',
'org.apache.cordova.inappbrowser': '0.5.1',
'org.apache.cordova.geolocation': '0.3.10',
'org.apache.cordova.camera': '0.3.2',
'org.apache.cordova.file': '1.3.0',
'org.apache.cordova.file-transfer': '0.4.4',
'org.apache.cordova.device': '0.2.11',
'com.meteor.cordova-update': 'https://github.com/meteor/com.meteor.cordova-update/tarball/92fe99b7248075318f6446b288995d4381d24cd2',
'org.apache.cordova.statusbar': '0.1.7',
'org.apache.cordova.splashscreen': '0.3.3' }
%% Getting installed plugins for project
%% Running synchronously: /home/tokam/.meteor/packages/meteor-tool/.1.0.35.1ahmcpn++os.linux.x86_64+web.browser+web.cordova/meteor-tool-os.linux.x86_64/tools/cordova-scripts/cordova.sh [ 'plugin', 'list' ]
%% The output of `cordova plugins list`: com.meteor.cordova-update 0.0.1 "CordovaUpdate"
org.apache.cordova.camera 0.3.2 "Camera"
org.apache.cordova.console 0.2.10 "Console"
org.apache.cordova.device 0.2.11 "Device"
org.apache.cordova.file 1.3.0 "File"
org.apache.cordova.file-transfer 0.4.4 "File Transfer"
org.apache.cordova.geolocation 0.3.10 "Geolocation"
org.apache.cordova.inappbrowser 0.5.1 "InAppBrowser"
org.apache.cordova.splashscreen 0.3.3 "Splashscreen"
org.apache.cordova.statusbar 0.1.7 "StatusBar"
%% Will check for cordova-tarball-plugins.json for tarball-url-based plugins previously installed.
%% The tarball plugins lock: { 'com.meteor.cordova-update': 'https://github.com/meteor/com.meteor.cordova-update/tarball/92fe99b7248075318f6446b288995d4381d24cd2' }
%% Copying the JS/CSS files one level up
%% Removing the www folder
%% Writing www/application folder
%% Writing index.html
%% Writing meteor_cordova_loader
%% Writing a default index.html for cordova app
%% Running the build command
%% Running synchronously: /home/tokam/.meteor/packages/meteor-tool/.1.0.35.1ahmcpn++os.linux.x86_64+web.browser+web.cordova/meteor-tool-os.linux.x86_64/tools/cordova-scripts/cordova.sh [ '--verbose', 'build', 'android' ]
%% Done building the cordova build project
%% A run on a device requested
WARNING: You are testing your app on a remote device.
For the mobile app to be able to connect to the local server, make
sure your device is on the same network, and that the network
configuration allows clients to talk to each other
(no client isolation).
WARNING: It looks like you are using OAuth2 login in your app.
Meteor's OAuth2 implementation does not currently work with
mobile apps in local development mode, except in the iOS
simulator. You can run the iOS simulator with 'meteor run ios'.
For additional workarounds, see
https://github.com/meteor/meteor/wiki/OAuth-for-mobile-Meteor-clients.
%% Execing cordova for platform android-device
%% isDevice: true
%% Running emulator: /home/tokam/.meteor/packages/meteor-tool/.1.0.35.1ahmcpn++os.linux.x86_64+web.browser+web.cordova/meteor-tool-os.linux.x86_64/tools/cordova-scripts/cordova.sh [ 'run', '--verbose', '--device', 'android' ]
%% Running asynchronously: /home/tokam/.meteor/packages/meteor-tool/.1.0.35.1ahmcpn++os.linux.x86_64+web.browser+web.cordova/meteor-tool-os.linux.x86_64/tools/cordova-scripts/cordova.sh [ 'run', '--verbose', '--device', 'android' ]
%% Clearing logs for Android with `adb logcat -c`, should time-out in 5 seconds
%% Running asynchronously: /home/tokam/.meteor/packages/meteor-tool/.1.0.35.1ahmcpn++os.linux.x86_64+web.browser+web.cordova/meteor-tool-os.linux.x86_64/tools/cordova-scripts/adb.sh [ 'logcat', '-c' ]
%% adb logcat -c timed out
%% Clearing logs failed: Error: clearing logs of Android device timed out: adb logcat -c
at Object.Future.wait (/home/tokam/.meteor/packages/meteor-tool/.1.0.35.1ahmcpn++os.linux.x86_64+web.browser+web.cordova/meteor-tool-os.linux.x86_64/dev_bundle/lib/node_modules/fibers/future.js:326:15)
at execCordovaOnPlatform (/home/tokam/.meteor/packages/meteor-tool/.1.0.35.1ahmcpn++os.linux.x86_64+web.browser+web.cordova/meteor-tool-os.linux.x86_64/tools/commands-cordova.js:1216:14)
at _.extend.start (/home/tokam/.meteor/packages/meteor-tool/.1.0.35.1ahmcpn++os.linux.x86_64+web.browser+web.cordova/meteor-tool-os.linux.x86_64/tools/commands-cordova.js:914:7)
at /home/tokam/.meteor/packages/meteor-tool/.1.0.35.1ahmcpn++os.linux.x86_64+web.browser+web.cordova/meteor-tool-os.linux.x86_64/tools/run-all.js:160:23
at /home/tokam/.meteor/packages/meteor-tool/.1.0.35.1ahmcpn++os.linux.x86_64+web.browser+web.cordova/meteor-tool-os.linux.x86_64/tools/buildmessage.js:313:18
at _.extend.withValue (/home/tokam/.meteor/packages/meteor-tool/.1.0.35.1ahmcpn++os.linux.x86_64+web.browser+web.cordova/meteor-tool-os.linux.x86_64/tools/fiber-helpers.js:112:14)
at /home/tokam/.meteor/packages/meteor-tool/.1.0.35.1ahmcpn++os.linux.x86_64+web.browser+web.cordova/meteor-tool-os.linux.x86_64/tools/buildmessage.js:312:36
at _.extend.withValue (/home/tokam/.meteor/packages/meteor-tool/.1.0.35.1ahmcpn++os.linux.x86_64+web.browser+web.cordova/meteor-tool-os.linux.x86_64/tools/fiber-helpers.js:112:14)
at Object.enterJob (/home/tokam/.meteor/packages/meteor-tool/.1.0.35.1ahmcpn++os.linux.x86_64+web.browser+web.cordova/meteor-tool-os.linux.x86_64/tools/buildmessage.js:303:26)
at /home/tokam/.meteor/packages/meteor-tool/.1.0.35.1ahmcpn++os.linux.x86_64+web.browser+web.cordova/meteor-tool-os.linux.x86_64/tools/run-all.js:159:22
at Array.forEach (native)
at Function._.each._.forEach (/home/tokam/.meteor/packages/meteor-tool/.1.0.35.1ahmcpn++os.linux.x86_64+web.browser+web.cordova/meteor-tool-os.linux.x86_64/dev_bundle/lib/node_modules/underscore/underscore.js:79:11)
at _.extend.start (/home/tokam/.meteor/packages/meteor-tool/.1.0.35.1ahmcpn++os.linux.x86_64+web.browser+web.cordova/meteor-tool-os.linux.x86_64/tools/run-all.js:156:7)
at Object.exports.run (/home/tokam/.meteor/packages/meteor-tool/.1.0.35.1ahmcpn++os.linux.x86_64+web.browser+web.cordova/meteor-tool-os.linux.x86_64/tools/run-all.js:318:10)
at doRunCommand [as func] (/home/tokam/.meteor/packages/meteor-tool/.1.0.35.1ahmcpn++os.linux.x86_64+web.browser+web.cordova/meteor-tool-os.linux.x86_64/tools/commands.js:347:17)
at /home/tokam/.meteor/packages/meteor-tool/.1.0.35.1ahmcpn++os.linux.x86_64+web.browser+web.cordova/meteor-tool-os.linux.x86_64/tools/main.js:1353:23
- - - - -
at null._onTimeout (/home/tokam/.meteor/packages/meteor-tool/.1.0.35.1ahmcpn++os.linux.x86_64+web.browser+web.cordova/meteor-tool-os.linux.x86_64/tools/commands-cordova.js:1211:22)
at Timer.listOnTimeout [as ontimeout] (timers.js:110:15)
%% Done clearing Android logs.
%% Tailing logs for android with `adb logcat -s CordovaLog`
%% Running asynchronously: /home/tokam/.meteor/packages/meteor-tool/.1.0.35.1ahmcpn++os.linux.x86_64+web.browser+web.cordova/meteor-tool-os.linux.x86_64/tools/cordova-scripts/adb.sh [ 'logcat', '-s', 'CordovaLog' ]
%% Done execing cordova for platform android-device
Could not start the app on your device. Is it plugged in?
Try running again with the --verbose option.
Instructions for running your app on an Android device:
https://github.com/meteor/meteor/wiki/How-to-run-your-app-on-an-Android-device
Before running meteor adb devices lists:
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached
506c09aa device
After running meteor adb devices tells me:
ADB server didn't ACK
* failed to start daemon *
error:
I already changed the adb timeout rate to 12000ms.
My device is set up for development.
How can I run an android app with meteor cordova?
I solved the problem by setting the ANDROID_HOME environment variable on my ubuntu system.
Make sure to adjust the path corrosponding to your machine's setup.
export ANDROID_HOME=/home/your-name/your/path/here/Android/android-sdk-linux_x86
Do not point the variable to the platform-tools folder.

android ant uibuild.xml:198: null returned: 1

I am new to ant and Android uiautomator. When using ant to build my testing program I get:
-dex:
[dex] input: c:\Eclipse\workspace\Android\bin\classes
[dex] Converting compiled files and external libraries into c:\Eclipse\wor
kspace\Android\bin\classes.dex...
[dx] no classfiles specified
BUILD FAILED
C:\Android\sdk\tools\ant\uibuild.xml:198: null returned: 1
This is on the sample test code at: http://developer.android.com/tools/testing/testing_ui.html#sample
The full output from running the 'android create uitest...' and 'ant build' commands follows:
c:\Eclipse\workspace\Android>android create uitest-project -n AllAppsTest -t 7 -
p C:\Eclipse\workspace\Android\
Updated file C:\Eclipse\workspace\Android\build.xml
c:\Eclipse\workspace\Android>ant build
Buildfile: c:\Eclipse\workspace\Android\build.xml
-check-env:
[checkenv] Android SDK Tools Revision 23.0.2
[checkenv] Installed at C:\Android\sdk
-build-setup:
[getbuildtools] Using latest Build Tools: 19.1.0
[echo] Resolving Build Target for AllAppsTest...
[getuitarget] Project Target: Android 4.2.2
[getuitarget] API level: 17
[echo] ----------
[echo] Creating output directories if needed...
-pre-compile:
compile:
-post-compile:
-dex:
[dex] input: c:\Eclipse\workspace\Android\bin\classes
[dex] Converting compiled files and external libraries into c:\Eclipse\wor
kspace\Android\bin\classes.dex...
[dx] no classfiles specified
BUILD FAILED
C:\Android\sdk\tools\ant\uibuild.xml:198: null returned: 1
Total time: 0 seconds
My problem is similar to Android ant build project failure which didn't seem to have an answer (or at least one that I could descern from the responses.
I can't post an image (not enough mojo yet) but my test project is set up as:
AllAppsTest
src
com.uia.example.my
LaunchSettings.java
JRE System Library[JavaSE-1.6] (there are number of jar files here but I am not
listing them here)
Referenced Libraries
android.jar
uiautomator.jar
JUnit 4
I executed the following:
c:\Eclipse\workspace\Android>android create uitest-project -n AllAppsTest -t 7 -
p C:\Eclipse\workspace\Android\
Updated file C:\Eclipse\workspace\Android\build.xml
c:\Eclipse\workspace\Android>ant build
Buildfile: c:\Eclipse\workspace\Android\build.xml
Which resulted in the 'ant build' error output at the top of this post.
Any ideas?
Thanks
Eric
Not sure this is kosher answering my own question but...
I believe there is an error in the documentation (or the create step) for executing the build.xml file. The build.xml must be copied to the project directory, in my case AllAppsTest, and the 'ant build' command executed from there.
So the sequence of events to get this to work (in Windows command window):
Run the 'android create' command
c:\Eclipse\workspace\Android>android create uitest-project -n AllAppsTest -t 7 -
p C:\Eclipse\workspace\Android\
Switch to the AllAppsTest directory
cd AllAppsTest
Copy the build.xml file from the parent directory
copy ../build.xml
(which for some reason copies local.properties and project.properties also)
Run the 'ant build' command
When I first tried this the build failed as it didn't like the single and double quotes I had that were on comment lines. Not sure why that was but I removed them and the ant build worked OK.

Cordova Build command doesn't work any more for android

this is what I get, an output from command line when I try to build cordova application:
C:\wamp\tests\cortest>cordova build
Generating config.xml from defaults for platform "android"
Preparing android project
Compiling app on platform "android" via command "cmd" /c C:\wamp\te
sts\cortest\platforms\android\cordova\build
Error: An error occurred while building the android project.Error executing "ant
debug -f "C:\wamp\tests\cortest\platforms\android\build.xml"":
BUILD FAILED
C:\Program Files (x86)\Android\android-studio\sdk\tools\ant\build.xml:601: The f
ollowing error occurred while executing this line:
C:\Program Files (x86)\Android\android-studio\sdk\tools\ant\build.xml:720: The f
ollowing error occurred while executing this line:
C:\Program Files (x86)\Android\android-studio\sdk\tools\ant\build.xml:734: Compi
le failed; see the compiler error output for details.
Total time: 1 second
at ChildProcess.<anonymous> (C:\Users\John\AppData\Roaming\npm\node_modules\
cordova\src\compile.js:65:22)
at ChildProcess.EventEmitter.emit (events.js:98:17)
at maybeClose (child_process.js:735:16)
at Socket.<anonymous> (child_process.js:948:11)
at Socket.EventEmitter.emit (events.js:95:17)
at Pipe.close (net.js:466:12)
And this is my config file :
<?xml version='1.0' encoding='utf-8'?>
<widget id="com.foundation.app" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<name>FoundationMobile</name>
<description>
A sample Apache Cordova application that responds to the deviceready event.
</description>
<author email="dev#cordova.apache.org" href="http://cordova.io">
Apache Cordova Team
</author>
<content src="index.html" />
<access origin="*" />
</widget>
I have Windows 7, 64bit. Not sure is it important. Any idea what is going on, why can not I build it any more? It was working before I update Android SDK with android manager.
Thank you so much in advance!
Added on 23/02/2014, project and sdk paths are different now, because I have reinstalled sdk, and created fresh projects, but error is the same.
C:\wamp\tests\cordova-test>cordova -d build
cordova library for "android" already exists. No need to download. Continuing.
Generating config.xml from defaults for platform "android"
Calling plugman.prepare for platform "android"
Preparing android project
Processing configuration changes for plugins.
Iterating over installed plugins: []
Writing out cordova_plugins.js...
Wrote out Android application name to "CordovaTest"
Wrote out Android package name to "com.foundation.app"
Compiling app on platform "android" via command "cmd" /c C:\wamp\te
sts\cordova-test\platforms\android\cordova\build
exec: ant clean -f "C:\wamp\tests\cordova-test\platforms\android\bu
ild.xml"
[ 'ant clean -f "C:\\wamp\\tests\\cordova-test\\platforms\\androi
d\\build.xml"',
null,
'Buildfile: C:\\wamp\\tests\\cordova-test\\platforms\\android\\
build.xml\r\n\r\n-check-env:\r\n [checkenv] Android SDK Tools Revision 22.3.0\r\
n [checkenv] Installed at C:\\adt-bundle-windows-x86_64-20131030\\sdk\r\n\r\n-se
tup:\r\n [echo] Project Name: CordovaTest\r\n [gettype] Project Type: Appli
cation\r\n\r\n-pre-clean:\r\n\r\nclean:\r\n [delete] Deleting directory C:\\wam
p\\tests\\cordova-test\\platforms\\android\\bin\r\n [delete] D
eleting directory C:\\wamp\\tests\\cordova-test\\platforms\\andro
id\\gen\r\n[getlibpath] Library dependencies:\r\n[getlibpath] \r\n[getlibpath] -
-----------------\r\n[getlibpath] Ordered libraries:\r\n\r\nnodeps:\r\n\r\n-chec
k-env:\r\n [checkenv] Android SDK Tools Revision 22.3.0\r\n [checkenv] Installed
at C:\\adt-bundle-windows-x86_64-20131030\\sdk\r\n\r\n-setup:\r\n [echo] Pr
oject Name: CordovaLib\r\n [gettype] Project Type: Android Library\r\n\r\n-pre-
clean:\r\n\r\nclean:\r\n [delete] Deleting directory C:\\wamp\\
tests\\cordova-test\\platforms\\android\\CordovaLib\\bin\r\n [delete] Deleting
directory C:\\wamp\\tests\\cordova-test\\platforms\\android\\Cor
dovaLib\\gen\r\n\r\nBUILD SUCCESSFUL\r\nTotal time: 0 seconds\r\n',
'' ]
exec: ant debug -f "C:\wamp\tests\cordova-test\platforms\android\bu
ild.xml"
[ 'ant debug -f "C:\\wamp\\tests\\cordova-test\\platforms\\androi
d\\build.xml"',
{ [Error: Command failed:
BUILD FAILED
C:\adt-bundle-windows-x86_64-20131030\sdk\tools\ant\build.xml:601: The followi
ng error occurred while executing this line:
C:\adt-bundle-windows-x86_64-20131030\sdk\tools\ant\build.xml:720: The followi
ng error occurred while executing this line:
C:\adt-bundle-windows-x86_64-20131030\sdk\tools\ant\build.xml:734: Compile fai
led; see the compiler error output for details.
Total time: 2 seconds
] killed: false, code: 1, signal: null },
'Buildfile: C:\\wamp\\tests\\cordova-test\\platforms\\android\\
build.xml\r\n\r\n-set-mode-check:\r\n\r\n-set-debug-files:\r\n\r\n-check-env:\r\
n [checkenv] Android SDK Tools Revision 22.3.0\r\n [checkenv] Installed at C:\\a
dt-bundle-windows-x86_64-20131030\\sdk\r\n\r\n-setup:\r\n [echo] Project Nam
e: CordovaTest\r\n [gettype] Project Type: Application\r\n\r\n-set-debug-mode:\
r\n\r\n-debug-obfuscation-check:\r\n\r\n-pre-build:\r\n\r\n-build-setup:\r\n[get
buildtools] Using latest Build Tools: 19.0.2\r\n [echo] Resolving Build Targ
et for CordovaTest...\r\n[gettarget] Project Target: Android 4.4.2\r\n[gettarg
et] API level: 19\r\n [echo] ----------\r\n [echo] Creating outpu
t directories if needed...\r\n [mkdir] Created dir: C:\\wamp\\root\\
tests\\cordova-test\\platforms\\android\\bin\r\n [mkdir] Created dir: C:\\wamp
\\tests\\cordova-test\\platforms\\android\\bin\\res\r\n [mkdi
r] Created dir: C:\\wamp\\tests\\cordova-test\\platforms\\android
\\bin\\rsObj\r\n [mkdir] Created dir: C:\\wamp\\tests\\cordova
-test\\platforms\\android\\bin\\rsLibs\r\n [mkdir] Created dir: C:\\wamp\\tes
ts\\cordova-test\\platforms\\android\\gen\r\n [mkdir] Created
dir: C:\\wamp\\tests\\cordova-test\\platforms\\android\\bin\\clas
ses\r\n [mkdir] Created dir: C:\\wamp\\tests\\cordova-test\\pl
atforms\\android\\bin\\dexedLibs\r\n [echo] ----------\r\n [echo] Resolv
ing Dependencies for CordovaTest...\r\n[dependency] Library dependencies:\r\n[de
pendency] \r\n[dependency] ------------------\r\n[dependency] Ordered libraries:
\r\n[dependency] \r\n[dependency] ------------------\r\n [echo] ----------\r
\n [echo] Building Libraries with \'debug\'...\r\n\r\nnodeps:\r\n\r\n-set-mo
de-check:\r\n\r\n-set-debug-files:\r\n\r\n-check-env:\r\n [checkenv] Android SDK
Tools Revision 22.3.0\r\n [checkenv] Installed at C:\\adt-bundle-windows-x86_64
-20131030\\sdk\r\n\r\n-setup:\r\n [echo] Project Name: CordovaLib\r\n [gett
ype] Project Type: Android Library\r\n\r\n-set-debug-mode:\r\n\r\n-debug-obfusca
tion-check:\r\n\r\n-pre-build:\r\n\r\n-build-setup:\r\n[getbuildtools] Using lat
est Build Tools: 19.0.2\r\n [echo] Resolving Build Target for CordovaLib...\
r\n[gettarget] Project Target: Android 4.4.2\r\n[gettarget] API level:
19\r\n [echo] ----------\r\n [echo] Creating output directories if neede
d...\r\n [mkdir] Created dir: C:\\wamp\\tests\\cordova-test\\p
latforms\\android\\CordovaLib\\bin\r\n [mkdir] Created dir: C:\\wamp\\tests
\\cordova-test\\platforms\\android\\CordovaLib\\bin\\res\r\n [mk
dir] Created dir: C:\\wamp\\tests\\cordova-test\\platforms\\andro
id\\CordovaLib\\bin\\rsObj\r\n [mkdir] Created dir: C:\\wamp\\root\\
tests\\cordova-test\\platforms\\android\\CordovaLib\\bin\\rsLibs\r\n [mkdir]
Created dir: C:\\wamp\\tests\\cordova-test\\platforms\\android\\C
ordovaLib\\gen\r\n [mkdir] Created dir: C:\\wamp\\tests\\cordo
va-test\\platforms\\android\\CordovaLib\\bin\\classes\r\n [mkdir] Created dir
: C:\\wamp\\tests\\cordova-test\\platforms\\android\\CordovaLib\\
bin\\dexedLibs\r\n [echo] ----------\r\n [echo] Resolving Dependencies f
or CordovaLib...\r\n[dependency] Library dependencies:\r\n[dependency] No Librar
ies\r\n[dependency] \r\n[dependency] ------------------\r\n\r\n-code-gen:\r\n[me
rgemanifest] Merging AndroidManifest files into one.\r\n[mergemanifest] Manifest
merger disabled. Using project manifest only.\r\n [echo] Handling aidl file
s...\r\n [aidl] No AIDL files to compile.\r\n [echo] ----------\r\n
[echo] Handling RenderScript files...\r\n [echo] ----------\r\n [echo] H
andling Resources...\r\n [aapt] Generating resource IDs...\r\n [echo] --
--------\r\n [echo] Handling BuildConfig class...\r\n[buildconfig] Generatin
g BuildConfig class.\r\n\r\n-pre-compile:\r\n\r\n-compile:\r\n [javac] Compil
ing 73 source files to C:\\wamp\\tests\\cordova-test\\platforms\\
android\\CordovaLib\\bin\\classes\r\n [javac] C:\\wamp\\root\\tests\
\cordova-test\\platforms\\android\\CordovaLib\\src\\com\\squareup\\okhttp\\inter
nal\\http\\HttpEngine.java:95: error: cannot access RouteSelector\r\n [javac]
protected RouteSelector routeSelector;\r\n [javac] ^\r\n [j
avac] bad source file: C:\\wamp\\tests\\cordova-test\\platforms
\\android\\CordovaLib\\src\\com\\squareup\\okhttp\\internal\\http\\RouteSelector
.java\r\n [javac] file does not contain class com.squareup.okhttp.interna
l.http.RouteSelector\r\n [javac] Please remove or make sure it appears in
the correct subdirectory of the sourcepath.\r\n',
'\r\nBUILD FAILED\r\nC:\\adt-bundle-windows-x86_64-20131030\\sdk\\tools\\ant\\
build.xml:601: The following error occurred while executing this line:\r\nC:\\ad
t-bundle-windows-x86_64-20131030\\sdk\\tools\\ant\\build.xml:720: The following
error occurred while executing this line:\r\nC:\\adt-bundle-windows-x86_64-20131
030\\sdk\\tools\\ant\\build.xml:734: Compile failed; see the compiler error outp
ut for details.\r\n\r\nTotal time: 2 seconds\r\n' ]
Error executing "ant debug -f "C:\wamp\tests\cordova-test\platforms
\android\build.xml"":
BUILD FAILED
C:\adt-bundle-windows-x86_64-20131030\sdk\tools\ant\build.xml:601: The following
error occurred while executing this line:
C:\adt-bundle-windows-x86_64-20131030\sdk\tools\ant\build.xml:720: The following
error occurred while executing this line:
C:\adt-bundle-windows-x86_64-20131030\sdk\tools\ant\build.xml:734: Compile faile
d; see the compiler error output for details.
Total time: 2 seconds
child_process.spawn(cmd,[/c, C:\wamp\tests\cordova-test\platforms\a
ndroid\cordova\build]) = 2
Error: An error occurred while building the android project.Error executing "ant
debug -f "C:\wamp\tests\cordova-test\platforms\android\build.xml""
:
BUILD FAILED
C:\adt-bundle-windows-x86_64-20131030\sdk\tools\ant\build.xml:601: The following
error occurred while executing this line:
C:\adt-bundle-windows-x86_64-20131030\sdk\tools\ant\build.xml:720: The following
error occurred while executing this line:
C:\adt-bundle-windows-x86_64-20131030\sdk\tools\ant\build.xml:734: Compile faile
d; see the compiler error output for details.
Total time: 2 seconds
at ChildProcess.<anonymous> (C:\Users\Ivan\AppData\Roaming\npm\node_modules\
cordova\src\compile.js:65:22)
at ChildProcess.EventEmitter.emit (events.js:98:17)
at maybeClose (child_process.js:735:16)
at Socket.<anonymous> (child_process.js:948:11)
at Socket.EventEmitter.emit (events.js:95:17)
at Pipe.close (net.js:466:12)
C:\wamp\tests\cordova-test>
I have too a laptop with Windows 7 64 bits and I solved this problem doing the following
Download the last version of ANT from http://ant.apache.org/
Unzip and put the files in the correct place in the disk
Copy the absolute direction where is the bin folder of the ANT in the Windows PATH variable.
I.E. in my case. D:\apache-ant-1.9.4\bin
In the CMD check if the ant -version is working. This should display the version of the ANT downloaded ( If is not working check the PATH variable again, before do the next step )
In the CMD go to the cordova project folder and run again the cordova build android. If the previous step is working you should build without problem your project. If your project is an Ionic project you should run here ionic build android and the result should be the same.
I hope this help.
Regards!
Try to get latest version of android platform.
cordova platform update android
It's worked for me
try ant -v in your terminal and make sure it's above 1.8. Cordova requires that. Also check path is given correct for Ant, Android-SDK/tools, and Android-SDK/platformtools
To debug exact issue try $Cordova build android --verbose
Problem was in enviroment variable path, ANDROID_HOME was pointing to : "C:\Program Files (x86)\Android\android-studio\sdk", I have just added a PROGRAM_FILES_86 to point to : C:\Program Files (x86) and set again ANDROID_HOME path again with PROGRAM_FILES_86 variable. That has solved the issue.

Categories

Resources