2017-04-04 7 views
2

今朝、いくつかのSDKとAndroid Studioを2.3にアップグレードした後、私はそれに関連した通常の失敗を得ました。 いくつかのAPIが変更されたため、エミュレータを起動することができません。私は、次を得る:コードバックスタックのアップグレード壊れた起動シミュレータ

$ cordova -v 
6.5.0 

$ cordova platform ls 
Installed platforms: 
android 6.2.0 
Available platforms: 
amazon-fireos ~3.6.3 (deprecated) 
blackberry10 ~3.8.0 
browser ~4.1.0 
firefoxos ~3.6.3 
ubuntu ~4.3.4 
webos ~3.7.0 

は今、私の質問は、私がどのように更新しなければなりませんどのようなパッケージです:

コマンドを実行
Running command: android list avds 
Command finished with error code 2: android list,avds 
Error: android: Command failed with exit code 2 
    at ChildProcess.whenDone (/home/mario/src/mobile/regibox/app/platforms/android/cordova/node_modules/cordova-common/src/superspawn.js:169:23) 
    at emitTwo (events.js:87:13) 
    at ChildProcess.emit (events.js:172:7) 
    at maybeClose (internal/child_process.js:854:16) 
    at Process.ChildProcess._handle.onexit (internal/child_process.js:222:5) 

自分自身が私に

$ android list avds 
************************************************************************* 
The "android" command is deprecated. 
For manual SDK, AVD, and project management, please use Android Studio.  
For command-line tools, use tools/bin/sdkmanager and tools/bin/avdmanager 
*************************************************************************  
Invalid or unsupported command "list avds" 

Supported commands are: 
android list target  
android list avd  
android list device  
android create avd  
android move avd  
android delete avd  
android list sdk  
android update sdk 

を与え、ここで私が現在持っている何ですか? または何のパッケージは

アンドロイドリストは

これは、Linux上でのAVDS発行します。

答えて

0

[OK]を、このアップグレードはまた、AndroidのキットカットのSDカードのサポートを台無しに。私の解決策は、sdk-toolを25.2.5にダウングレードすることでした。この詳細についてはこちらを 4.1 android emulator not detecting sd card

この時点で私は2.3するには、Android-SDKとAndroidスタジオをアップグレードすると、彼らは余分の日のカップルを持っていない限り、私は、誰にもお勧めしません、完全な災害となっていることを言わなければなりません時間。

0

問題は、コードアンドアンドロイドプラットフォームの実装によるものと思われます。

あなたが使用して、最新の(マスター)バージョンにアップグレードすることができ

cordova platform add https://github.com/apache/cordova-android 

https://stackoverflow.com/a/42797817からコピー)

残念ながら、問題は(source codeを参照)でもマスターバージョンではまだ存在しているが、おそらくすぐに修正されるでしょう。回避策として

、あなたがandroidユーティリティの名前を変更することができ、いずれにせよ、私の知る限り理解して廃止されるようだ:

mv $ANDROID_HOME/tools/android $ANDROID_HOME/tools/android.bak 
0

Android SDKの新しいバージョンがcordovaのビルド/実行システムで多くのバグを引き起こしているようです。今、あなたのプロジェクトでこのファイルを編集することができますための回避策として

./platforms/android/cordova/lib/emulator.js 

は(私はライン119である)、この行を探す:

return superspawn.spawn('android', ['list', 'avds']) 

変更をそれによって:

return superspawn.spawn('android', ['list', 'avd']) 

それはうまくいく、それは私のために働く。

関連する問題