我尝试按照 Ionic 的教程构建一个演示应用程序,但我似乎卡住了。
ionic serve
很好地启动了带有新应用程序的浏览器,但是当我尝试使用Android模拟器或设备时,事情变得有点混乱。
c:ionicmec>ionic run android
Running command: "C:Program Filesnodejsnode.exe" c:ionicmechooksafter_prepare 10_add_platform_class.js c:ionicmec
add to body class: platform-android
ANDROID_HOME=C:UsersKwamenaAppDataLocalAndroidsdk
JAVA_HOME=C:Javajdk1.8.0_121
Subproject Path: CordovaLib
NDK is missing a "platforms" directory.
If you are using NDK, verify the ndk.dir is set to a valid NDK directory. It is
currently set to D:emmasonydataandriodandroid-ndk-r10c;.
If you are not using NDK, unset the NDK variable from ANDROID_NDK_HOME or local.
properties to remove this warning.
FAILURE: Build failed with an exception.
* Where:
Build file 'C:ionicmecplatformsandroidbuild.gradle' line: 20
* What went wrong:
A problem occurred evaluating root project 'android'.
> org/bouncycastle/jce/provider/BouncyCastleProvider
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug
option to get more log output.
BUILD FAILED
Total time: 4.015 secs
Error: cmd: Command failed with exit code 1 Error output:
FAILURE: Build failed with an exception.
* Where:
Build file 'C:ionicmecplatformsandroidbuild.gradle' line: 20
* What went wrong:
A problem occurred evaluating root project 'android'.
> org/bouncycastle/jce/provider/BouncyCastleProvider
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug
option to get more log output.
build.gradle-line: 20 --> apply plugin: 'com.android.application'
使用cordova run android
时的问题也是如此。
蚂蚁:
c:ionicmec>ionic run android -- --ant
Running command: "C:Program Filesnodejsnode.exe" c:ionicmechooksafter_prepare 10_add_platform_class.js c:ionicmec
add to body class: platform-android
ANDROID_HOME=C:UsersKwamenaAppDataLocalAndroidsdk
JAVA_HOME=C:Javajdk1.8.0_121
Buildfile: c:ionicmecplatformsandroidbuild.xml
Buildfile: c:ionicmecplatformsandroidbuild.xml
-set-mode-check:
-set-debug-files:
-check-env:
[checkenv] Android SDK Tools Revision 25.2.3
[checkenv] Installed at C:UsersKwamenaAppDataLocalAndroidsdk
-setup:
[echo] Project Name: mec774388
-check-env:
[checkenv] Android SDK Tools Revision 25.2.3
[checkenv] Installed at C:UsersKwamenaAppDataLocalAndroidsdk
-setup:
[echo] Project Name: mec774388
[gettype] Project Type: Application
-set-debug-mode:
-debug-obfuscation-check:
-pre-build:
-build-setup:
[gettype] Project Type: Application
-pre-clean:
clean:
[delete] Deleting directory c:ionicmecplatformsandroidbin
[delete] Deleting directory c:ionicmecplatformsandroidgen
[getlibpath] Library dependencies:
[getlibpath]
[getlibpath] ------------------
[getlibpath] Ordered libraries:
[getbuildtools] Using latest Build Tools: 25.0.0
[echo] Resolving Build Target for mec774388...
nodeps:
-check-env:
[checkenv] Android SDK Tools Revision 25.2.3
[checkenv] Installed at C:UsersKwamenaAppDataLocalAndroidsdk
-setup:
[echo] Project Name: mec774388
[gettype] Project Type: Android Library
-pre-clean:
clean:
[delete] Deleting directory C:ionicmecplatformsandroidCordovaLibbin
[delete] Deleting directory C:ionicmecplatformsandroidCordovaLibgen
BUILD SUCCESSFUL
Total time: 2 seconds
[gettarget] Project Target: Android 7.1.1
[gettarget] API level: 25
[echo] ----------
[echo] Creating output directories if needed...
[mkdir] Created dir: c:ionicmecplatformsandroidbin
[mkdir] Created dir: c:ionicmecplatformsandroidbinres
[mkdir] Created dir: c:ionicmecplatformsandroidbinrsObj
[mkdir] Created dir: c:ionicmecplatformsandroidbinrsLibs
[mkdir] Created dir: c:ionicmecplatformsandroidgen
[mkdir] Created dir: c:ionicmecplatformsandroidbinclasses
[mkdir] Created dir: c:ionicmecplatformsandroidbindexedLibs
[echo] ----------
[echo] Resolving Dependencies for mec774388...
[dependency] Library dependencies:
[dependency]
[dependency] ------------------
[dependency] Ordered libraries:
[dependency]
[dependency] ------------------
[echo] ----------
[echo] Building Libraries with 'debug'...
nodeps:
-set-mode-check:
-set-debug-files:
-check-env:
[checkenv] Android SDK Tools Revision 25.2.3
[checkenv] Installed at C:UsersKwamenaAppDataLocalAndroidsdk
-setup:
[echo] Project Name: mec774388
[gettype] Project Type: Android Library
-set-debug-mode:
-debug-obfuscation-check:
-pre-build:
-build-setup:
[getbuildtools] Using latest Build Tools: 25.0.0
[echo] Resolving Build Target for mec774388...
[gettarget] Project Target: Android 7.1.1
[gettarget] API level: 25
[echo] ----------
[echo] Creating output directories if needed...
[mkdir] Created dir: C:ionicmecplatformsandroidCordovaLibbin
[mkdir] Created dir: C:ionicmecplatformsandroidCordovaLibbinres
[mkdir] Created dir: C:ionicmecplatformsandroidCordovaLibbinrsObj
[mkdir] Created dir: C:ionicmecplatformsandroidCordovaLibbinrsLibs
[mkdir] Created dir: C:ionicmecplatformsandroidCordovaLibgen
[mkdir] Created dir: C:ionicmecplatformsandroidCordovaLibbinclasses
[mkdir] Created dir: C:ionicmecplatformsandroidCordovaLibbindexedLibs
[echo] ----------
[echo] Resolving Dependencies for mec774388...
[dependency] Library dependencies:
[dependency] No Libraries
[dependency]
[dependency] ------------------
-code-gen:
[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] Generating resource IDs...
[echo] ----------
[echo] Handling BuildConfig class...
[buildconfig] Generating BuildConfig class.
-pre-compile:
-compile:
[javac] Compiling 38 source files to C:ionicmecplatformsandroidCordovaLibbinclasses
[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] Note: Some input files use or override a deprecated API.
[javac] Note: Recompile with -Xlint:deprecation for details.
[javac] 3 warnings
[echo] Creating library output jar file...
[jar] Building jar: C:ionicmecplatformsandroidCordovaLibbinclasses.jar
-post-compile:
-obfuscate:
-dex:
[echo] Library project: do not convert bytecode...
-crunch:
[crunch] Crunching PNG Files in source dir: C:ionicmecplatformsandroidCordovaLibres
[crunch] To destination dir: C:ionicmecplatformsandroidCordovaLibbinres
[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] Creating new property file: C:ionicmecplatformsandroidCordovaLibbinbuild.prop
[propertyfile] Updating property file: C:ionicmecplatformsandroidCordovaLibbinbuild.prop
[propertyfile] Updating property file: C:ionicmecplatformsandroidCordovaLibbinbuild.prop
[propertyfile] Updating property file: C:ionicmecplatformsandroidCordovaLibbinbuild.prop
-post-build:
debug:
-code-gen:
[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] Generating resource IDs...
[echo] ----------
[echo] Handling BuildConfig class...
[buildconfig] Generating BuildConfig class.
-pre-compile:
-compile:
[javac] Compiling 8 source files to c:ionicmecplatformsandroidbinclasses
[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] Note: c:ionicmecplatformsandroidsrcorgapachecordovasplashscreenSplashScreen.java uses or overrides a deprecated API.
[javac] Note: Recompile with -Xlint:deprecation for details.
[javac] 3 warnings
-post-compile:
-obfuscate:
-dex:
[dex] input: c:ionicmecplatformsandroidbinclasses
[dex] input: C:ionicmecplatformsandroidCordovaLibbinclasses.jar
[dex] Pre-Dexing C:ionicmecplatformsandroidCordovaLibbinclasses.jar -> classes-a4da51b1799d4fae35ce5cc3e150107e.jar
[dex] Converting compiled files and external libraries into c:ionicmecplatformsandroidbinclasses.dex...
[dx] Merged dex #1 (33 defs/28.5KiB)
[dx] Merged dex #2 (87 defs/110.0KiB)
[dx] Result is 120 defs/164.8KiB. Took 0.3s
-crunch:
[crunch] Crunching PNG Files in source dir: c:ionicmecplatformsandroidres
[crunch] To destination dir: c:ionicmecplatformsandroidbinres
[crunch] Processing image to cache: c:ionicmecplatformsandroidresdrawable-land-hdpiscreen.png => c:ionicmecplatformsandroidbinresdrawable-land
-hdpiscreen.png
[crunch] (processed image to cache entry c:ionicmecplatformsandroidbinresdrawable-land-hdpiscreen.png: 97% size of source)
[crunch] Processing image to cache: c:ionicmecplatformsandroidresdrawable-land-ldpiscreen.png => c:ionicmecplatformsandroidbinresdrawable-land
-ldpiscreen.png
[crunch] (processed image to cache entry c:ionicmecplatformsandroidbinresdrawable-land-ldpiscreen.png: 96% size of source)
[crunch] Processing image to cache: c:ionicmecplatformsandroidresdrawable-land-mdpiscreen.png => c:ionicmecplatformsandroidbinresdrawable-land
-mdpiscreen.png
[crunch] (processed image to cache entry c:ionicmecplatformsandroidbinresdrawable-land-mdpiscreen.png: 97% size of source)
[crunch] Processing image to cache: c:ionicmecplatformsandroidresdrawable-land-xhdpiscreen.png => c:ionicmecplatformsandroidbinresdrawable-lan
d-xhdpiscreen.png
[crunch] (processed image to cache entry c:ionicmecplatformsandroidbinresdrawable-land-xhdpiscreen.png: 99% size of source)
[crunch] Processing image to cache: c:ionicmecplatformsandroidresdrawable-port-hdpiscreen.png => c:ionicmecplatformsandroidbinresdrawable-port
-hdpiscreen.png
[crunch] (processed image to cache entry c:ionicmecplatformsandroidbinresdrawable-port-hdpiscreen.png: 97% size of source)
[crunch] Processing image to cache: c:ionicmecplatformsandroidresdrawable-port-ldpiscreen.png => c:ionicmecplatformsandroidbinresdrawable-port
-ldpiscreen.png
[crunch] (processed image to cache entry c:ionicmecplatformsandroidbinresdrawable-port-ldpiscreen.png: 97% size of source)
[crunch] Processing image to cache: c:ionicmecplatformsandroidresdrawable-port-mdpiscreen.png => c:ionicmecplatformsandroidbinresdrawable-port
-mdpiscreen.png
[crunch] (processed image to cache entry c:ionicmecplatformsandroidbinresdrawable-port-mdpiscreen.png: 99% size of source)
[crunch] Processing image to cache: c:ionicmecplatformsandroidresdrawable-port-xhdpiscreen.png => c:ionicmecplatformsandroidbinresdrawable-por
t-xhdpiscreen.png
[crunch] (processed image to cache entry c:ionicmecplatformsandroidbinresdrawable-port-xhdpiscreen.png: 99% size of source)
[crunch] Processing image to cache: c:ionicmecplatformsandroidresmipmap-hdpiicon.png => c:ionicmecplatformsandroidbinresmipmap-hdpiicon.png
[crunch] (processed image to cache entry c:ionicmecplatformsandroidbinresmipmap-hdpiicon.png: 67% size of source)
[crunch] Processing image to cache: c:ionicmecplatformsandroidresmipmap-ldpiicon.png => c:ionicmecplatformsandroidbinresmipmap-ldpiicon.png
[crunch] (processed image to cache entry c:ionicmecplatformsandroidbinresmipmap-ldpiicon.png: 0% size of source)
[crunch] Processing image to cache: c:ionicmecplatformsandroidresmipmap-mdpiicon.png => c:ionicmecplatformsandroidbinresmipmap-mdpiicon.png
[crunch] (processed image to cache entry c:ionicmecplatformsandroidbinresmipmap-mdpiicon.png: 0% size of source)
[crunch] Processing image to cache: c:ionicmecplatformsandroidresmipmap-xhdpiicon.png => c:ionicmecplatformsandroidbinresmipmap-xhdpiicon.png
[crunch] (processed image to cache entry c:ionicmecplatformsandroidbinresmipmap-xhdpiicon.png: 53% size of source)
[crunch] Crunched 12 PNG files to update cache
-package-resources:
[aapt] Creating full resource package...
-package:
[apkbuilder] Current build type is different than previous build: forced apkbuilder run.
[apkbuilder] Creating mec774388-debug-unaligned.apk and signing it with a debug key...
-post-package:
-do-debug:
[zipalign] Running zip align on final apk...
[echo] Debug Package: c:ionicmecplatformsandroidbinmec774388-debug.apk
[propertyfile] Creating new property file: c:ionicmecplatformsandroidbinbuild.prop
[propertyfile] Updating property file: c:ionicmecplatformsandroidbinbuild.prop
[propertyfile] Updating property file: c:ionicmecplatformsandroidbinbuild.prop
[propertyfile] Updating property file: c:ionicmecplatformsandroidbinbuild.prop
-post-build:
debug:
BUILD SUCCESSFUL
Total time: 1 minute 37 seconds
Built the following apk(s):
c:/ionic/mec/platforms/android/bin/mec774388-debug.apk
ANDROID_HOME=C:UsersKwamenaAppDataLocalAndroidsdk
JAVA_HOME=C:Javajdk1.8.0_121
No target specified, deploying to device 'FA35VW901817'.
Skipping build...
Built the following apk(s):
c:/ionic/mec/platforms/android/bin/mec774388-debug.apk
Using apk: c:/ionic/mec/platforms/android/bin/mec774388-debug.apk
Package name: com.ionicframework.mec774388
LAUNCH SUCCESS
系统信息
c:ionicmec>ionic info
Your system information:
ordova CLI: 6.5.0
Ionic CLI Version: 2.2.1
Ionic App Lib Version: 2.1.7
ios-deploy version: Not installed
ios-sim version: Not installed
OS: Windows 8.1
Node Version: v5.0.0
Xcode version: Not installed
也
c:ionicmec>gradle -v
------------------------------------------------------------
Gradle 3.3
------------------------------------------------------------
Build time: 2017-01-03 15:31:04 UTC
Revision: 075893a3d0798c0c1f322899b41ceca82e4e134b
Groovy: 2.4.7
Ant: Apache Ant(TM) version 1.9.6 compiled on June 29 2015
JVM: 1.8.0_121 (Oracle Corporation 25.121-b13)
OS: Windows 8.1 6.3 amd64
跑步cordova requirements
c:ionicmec>cordova requirements
Requirements check results for android:
Java JDK: installed 1.8.0
Android SDK: installed true
Android target: installed android-8,android-10,android-11,android-14,android-15,
android-16,android-17,android-18,android-19,android-20,android-21,android-22,and
roid-MNC,android-23,android-24,android-25,Google Inc.:Glass Development Kit Prev
iew:19,Google Inc.:Google APIs:19,Google Inc.:Google APIs:21,Google Inc.:Google
APIs:22,Google Inc.:Google APIs:23
Gradle: installed
我想我很快就会使用完全依赖 Gradle 的插件。任何帮助将不胜感激。
其他一些问题导致我重新安装Windows,Android Studio并重新下载Android SDK。从那里开始,一切都很顺利。