我尝试在Ionic's教程之后构建一个演示应用程序,但我似乎陷入困境。
ionic serve
很好地启动了一个带有新应用程序的浏览器,但是当我尝试使用Android模拟器或设备时,事情会让人感到有些困惑。
c:\ionic\mec>ionic run android
Running command: "C:\Program Files\nodejs\node.exe" c:\ionic\mec\hooks\after_prepare\010_add_platform_class.js c:\ionic\mec
add to body class: platform-android
ANDROID_HOME=C:\Users\Kwamena\AppData\Local\Android\sdk
JAVA_HOME=C:\Java\jdk1.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:\emmasony\data\andriod\android-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:\ionic\mec\platforms\android\build.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:\ionic\mec\platforms\android\build.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
时的问题相同。
Runnung with Ant:
c:\ionic\mec>ionic run android -- --ant
Running command: "C:\Program Files\nodejs\node.exe" c:\ionic\mec\hooks\after_prepare\010_add_platform_class.js c:\ionic\mec
add to body class: platform-android
ANDROID_HOME=C:\Users\Kwamena\AppData\Local\Android\sdk
JAVA_HOME=C:\Java\jdk1.8.0_121
Buildfile: c:\ionic\mec\platforms\android\build.xml
Buildfile: c:\ionic\mec\platforms\android\build.xml
-set-mode-check:
-set-debug-files:
-check-env:
[checkenv] Android SDK Tools Revision 25.2.3
[checkenv] Installed at C:\Users\Kwamena\AppData\Local\Android\sdk
-setup:
[echo] Project Name: mec774388
-check-env:
[checkenv] Android SDK Tools Revision 25.2.3
[checkenv] Installed at C:\Users\Kwamena\AppData\Local\Android\sdk
-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:\ionic\mec\platforms\android\bin
[delete] Deleting directory c:\ionic\mec\platforms\android\gen
[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:\Users\Kwamena\AppData\Local\Android\sdk
-setup:
[echo] Project Name: mec774388
[gettype] Project Type: Android Library
-pre-clean:
clean:
[delete] Deleting directory C:\ionic\mec\platforms\android\CordovaLib\bin
[delete] Deleting directory C:\ionic\mec\platforms\android\CordovaLib\gen
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:\ionic\mec\platforms\android\bin
[mkdir] Created dir: c:\ionic\mec\platforms\android\bin\res
[mkdir] Created dir: c:\ionic\mec\platforms\android\bin\rsObj
[mkdir] Created dir: c:\ionic\mec\platforms\android\bin\rsLibs
[mkdir] Created dir: c:\ionic\mec\platforms\android\gen
[mkdir] Created dir: c:\ionic\mec\platforms\android\bin\classes
[mkdir] Created dir: c:\ionic\mec\platforms\android\bin\dexedLibs
[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:\Users\Kwamena\AppData\Local\Android\sdk
-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:\ionic\mec\platforms\android\CordovaLib\bin
[mkdir] Created dir: C:\ionic\mec\platforms\android\CordovaLib\bin\res
[mkdir] Created dir: C:\ionic\mec\platforms\android\CordovaLib\bin\rsObj
[mkdir] Created dir: C:\ionic\mec\platforms\android\CordovaLib\bin\rsLibs
[mkdir] Created dir: C:\ionic\mec\platforms\android\CordovaLib\gen
[mkdir] Created dir: C:\ionic\mec\platforms\android\CordovaLib\bin\classes
[mkdir] Created dir: C:\ionic\mec\platforms\android\CordovaLib\bin\dexedLibs
[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:\ionic\mec\platforms\android\CordovaLib\bin\classes
[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:\ionic\mec\platforms\android\CordovaLib\bin\classes.jar
-post-compile:
-obfuscate:
-dex:
[echo] Library project: do not convert bytecode...
-crunch:
[crunch] Crunching PNG Files in source dir: C:\ionic\mec\platforms\android\CordovaLib\res
[crunch] To destination dir: C:\ionic\mec\platforms\android\CordovaLib\bin\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] Creating new property file: C:\ionic\mec\platforms\android\CordovaLib\bin\build.prop
[propertyfile] Updating property file: C:\ionic\mec\platforms\android\CordovaLib\bin\build.prop
[propertyfile] Updating property file: C:\ionic\mec\platforms\android\CordovaLib\bin\build.prop
[propertyfile] Updating property file: C:\ionic\mec\platforms\android\CordovaLib\bin\build.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:\ionic\mec\platforms\android\bin\classes
[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:\ionic\mec\platforms\android\src\org\apache\cordova\splashscreen\SplashScreen.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:\ionic\mec\platforms\android\bin\classes
[dex] input: C:\ionic\mec\platforms\android\CordovaLib\bin\classes.jar
[dex] Pre-Dexing C:\ionic\mec\platforms\android\CordovaLib\bin\classes.jar -> classes-a4da51b1799d4fae35ce5cc3e150107e.jar
[dex] Converting compiled files and external libraries into c:\ionic\mec\platforms\android\bin\classes.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:\ionic\mec\platforms\android\res
[crunch] To destination dir: c:\ionic\mec\platforms\android\bin\res
[crunch] Processing image to cache: c:\ionic\mec\platforms\android\res\drawable-land-hdpi\screen.png => c:\ionic\mec\platforms\android\bin\res\drawable-land
-hdpi\screen.png
[crunch] (processed image to cache entry c:\ionic\mec\platforms\android\bin\res\drawable-land-hdpi\screen.png: 97% size of source)
[crunch] Processing image to cache: c:\ionic\mec\platforms\android\res\drawable-land-ldpi\screen.png => c:\ionic\mec\platforms\android\bin\res\drawable-land
-ldpi\screen.png
[crunch] (processed image to cache entry c:\ionic\mec\platforms\android\bin\res\drawable-land-ldpi\screen.png: 96% size of source)
[crunch] Processing image to cache: c:\ionic\mec\platforms\android\res\drawable-land-mdpi\screen.png => c:\ionic\mec\platforms\android\bin\res\drawable-land
-mdpi\screen.png
[crunch] (processed image to cache entry c:\ionic\mec\platforms\android\bin\res\drawable-land-mdpi\screen.png: 97% size of source)
[crunch] Processing image to cache: c:\ionic\mec\platforms\android\res\drawable-land-xhdpi\screen.png => c:\ionic\mec\platforms\android\bin\res\drawable-lan
d-xhdpi\screen.png
[crunch] (processed image to cache entry c:\ionic\mec\platforms\android\bin\res\drawable-land-xhdpi\screen.png: 99% size of source)
[crunch] Processing image to cache: c:\ionic\mec\platforms\android\res\drawable-port-hdpi\screen.png => c:\ionic\mec\platforms\android\bin\res\drawable-port
-hdpi\screen.png
[crunch] (processed image to cache entry c:\ionic\mec\platforms\android\bin\res\drawable-port-hdpi\screen.png: 97% size of source)
[crunch] Processing image to cache: c:\ionic\mec\platforms\android\res\drawable-port-ldpi\screen.png => c:\ionic\mec\platforms\android\bin\res\drawable-port
-ldpi\screen.png
[crunch] (processed image to cache entry c:\ionic\mec\platforms\android\bin\res\drawable-port-ldpi\screen.png: 97% size of source)
[crunch] Processing image to cache: c:\ionic\mec\platforms\android\res\drawable-port-mdpi\screen.png => c:\ionic\mec\platforms\android\bin\res\drawable-port
-mdpi\screen.png
[crunch] (processed image to cache entry c:\ionic\mec\platforms\android\bin\res\drawable-port-mdpi\screen.png: 99% size of source)
[crunch] Processing image to cache: c:\ionic\mec\platforms\android\res\drawable-port-xhdpi\screen.png => c:\ionic\mec\platforms\android\bin\res\drawable-por
t-xhdpi\screen.png
[crunch] (processed image to cache entry c:\ionic\mec\platforms\android\bin\res\drawable-port-xhdpi\screen.png: 99% size of source)
[crunch] Processing image to cache: c:\ionic\mec\platforms\android\res\mipmap-hdpi\icon.png => c:\ionic\mec\platforms\android\bin\res\mipmap-hdpi\icon.png
[crunch] (processed image to cache entry c:\ionic\mec\platforms\android\bin\res\mipmap-hdpi\icon.png: 67% size of source)
[crunch] Processing image to cache: c:\ionic\mec\platforms\android\res\mipmap-ldpi\icon.png => c:\ionic\mec\platforms\android\bin\res\mipmap-ldpi\icon.png
[crunch] (processed image to cache entry c:\ionic\mec\platforms\android\bin\res\mipmap-ldpi\icon.png: 0% size of source)
[crunch] Processing image to cache: c:\ionic\mec\platforms\android\res\mipmap-mdpi\icon.png => c:\ionic\mec\platforms\android\bin\res\mipmap-mdpi\icon.png
[crunch] (processed image to cache entry c:\ionic\mec\platforms\android\bin\res\mipmap-mdpi\icon.png: 0% size of source)
[crunch] Processing image to cache: c:\ionic\mec\platforms\android\res\mipmap-xhdpi\icon.png => c:\ionic\mec\platforms\android\bin\res\mipmap-xhdpi\icon.png
[crunch] (processed image to cache entry c:\ionic\mec\platforms\android\bin\res\mipmap-xhdpi\icon.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:\ionic\mec\platforms\android\bin\mec774388-debug.apk
[propertyfile] Creating new property file: c:\ionic\mec\platforms\android\bin\build.prop
[propertyfile] Updating property file: c:\ionic\mec\platforms\android\bin\build.prop
[propertyfile] Updating property file: c:\ionic\mec\platforms\android\bin\build.prop
[propertyfile] Updating property file: c:\ionic\mec\platforms\android\bin\build.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:\Users\Kwamena\AppData\Local\Android\sdk
JAVA_HOME=C:\Java\jdk1.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:\ionic\mec>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:\ionic\mec>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:\ionic\mec>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的插件。任何帮助将不胜感激。
答案 0 :(得分:0)
其他一些问题促使我重新安装Windows,Android Studio并重新下载Android SDK。从那里一切顺利。