我正在使用Ionic3:
global packages:
@ionic/cli-utils : 1.3.0
Cordova CLI : 6.4.0
Ionic CLI : 3.3.0
local packages:
@ionic/app-scripts : 1.3.0
@ionic/cli-plugin-cordova : 1.3.0
@ionic/cli-plugin-ionic-angular : 1.3.0
Cordova Platforms : android 6.0.0 ios 4.3.1
Ionic Framework : ionic-angular 3.2.1
System:
Node : v7.10.0
OS : macOS Sierra
Xcode : Xcode 8.3.2 Build version 8E2002
ios-deploy : not installed
ios-sim : not installed
然后我将Cordova升级到最新版本(从6.4.0
升级到7.0.1
):
global packages:
@ionic/cli-utils : 1.3.0
Cordova CLI : 7.0.1
Ionic CLI : 3.3.0
local packages:
@ionic/app-scripts : 1.3.0
@ionic/cli-plugin-cordova : 1.3.0
@ionic/cli-plugin-ionic-angular : 1.3.0
Cordova Platforms : android 6.2.3 ios 4.3.1
Ionic Framework : ionic-angular 3.2.1
System:
Node : v7.10.0
OS : macOS Sierra
Xcode : Xcode 8.3.2 Build version 8E2002
ios-deploy : not installed
ios-sim : not installed
如您所见,我还将我的Android平台从android 6.0.0
升级为android 6.2.3
。
从那以后,我无法让我的Cordova插件在Android上运行。 iOS和浏览器一切正常。
如果我在Android设备或模拟器上运行它,它会加载应用程序,但不会显示启动画面,或者获取地理定位,允许Firebase登录等等。看起来所有适用于Android的Cordova插件都无法正常工作。
当我在Android Studio中运行时,我会在日志中反复获得以下内容:
W/art: Attempt to remove non-JNI local reference, dumping thread
似乎安装最新的Android平台(6.2.3)已经破坏了应用程序。
欢迎任何建议。
更新
现在我尝试卸载Android平台并重新安装6.0.0版。但我得到错误:
cordova platform remove android
Removing platform android from config.xml file...
Richards-MacBook-Pro:theWhoZoo richardmarais$ ionic cordova platform add android@6.0.0
> cordova platform add android@6.0.0 --save
✖ Running command - failed!
[ERROR] Cordova encountered an error.
You may get more insight by running the Cordova command above directly.
[ERROR] An error occurred while running cordova platform add android@6.0.0 --save (exit code 1):
Using cordova-fetch for cordova-android@6.0.0
Adding android project...
Creating Cordova project for the Android platform:
Path: platforms/android
Package: com.ionicframework.thewhozoo912107
Name: theWhoZoo
Activity: MainActivity
Android target: android-24
Subproject Path: CordovaLib
Android project created with cordova-android@6.0.0
Installing "cordova-plugin-app-version" for android
ANDROID_HOME=/Users/richardmarais/Library/Android/sdk/
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home
Failed to install 'cordova-plugin-app-version': Error
at Object.module.exports.check_gradle (/Users/richardmarais/Development/ionic/theWhoZoo/platforms/android/cordova/lib/check_reqs.js:90:25)
at GradleBuilder.prepEnv (/Users/richardmarais/Development/ionic/theWhoZoo/platforms/android/cordova/lib/builders/GradleBuilder.js:161:23)
at Api.module.exports.runClean (/Users/richardmarais/Development/ionic/theWhoZoo/platforms/android/cordova/lib/build.js:131:20)
at /Users/richardmarais/Development/ionic/theWhoZoo/platforms/android/cordova/Api.js:391:50
at _fulfilled (/Users/richardmarais/Development/ionic/theWhoZoo/platforms/android/cordova/node_modules/q/q.js:834:54)
at self.promiseDispatch.done (/Users/richardmarais/Development/ionic/theWhoZoo/platforms/android/cordova/node_modules/q/q.js:863:30)
at Promise.promise.promiseDispatch (/Users/richardmarais/Development/ionic/theWhoZoo/platforms/android/cordova/node_modules/q/q.js:796:13)
at /Users/richardmarais/Development/ionic/theWhoZoo/platforms/android/cordova/node_modules/q/q.js:604:44
at runSingle (/Users/richardmarais/Development/ionic/theWhoZoo/platforms/android/cordova/node_modules/q/q.js:137:13)
at flush (/Users/richardmarais/Development/ionic/theWhoZoo/platforms/android/cordova/node_modules/q/q.js:125:13)
Error: Could not find gradle wrapper within Android SDK. Might need to update your Android SDK.
Looked here: /Users/richardmarais/Library/Android/sdk/tools/templates/gradle/wrapper
可是:
cordova platform ls
Installed platforms:
android 6.0.0
ios 4.3.1
然后
cordova build android
✖ Running command - failed!
[ERROR] Cordova encountered an error.
You may get more insight by running the Cordova command above directly.
[ERROR] An error occurred while running cordova build android (exit code 1):
ANDROID_HOME=/Users/richardmarais/Library/Android/sdk/
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home
Error: Could not find gradle wrapper within Android SDK. Might need to update your Android SDK.
Looked here: /Users/richardmarais/Library/Android/sdk/tools/templates/gradle/wrapper
我在Android Studio中检查了我的Android SDK,并且安装了所有最新版本(Android 6.0,7.0和7.1)。
所以我升级回最新的Android平台:
cordova platform remove android
ionic cordova platform add android@latest
现在它再次构建没有错误,但是我遇到了Cordova插件无法正常工作的问题,以及日志中的以下内容:
W/art: Attempt to remove non-JNI local reference, dumping thread
答案 0 :(得分:0)
解决:
已删除node_modules
npm install
ionic cordova platform remove android
ionic cordova platform add android@latest
ionic cordova build android