更新1:
これが最終的に私がしたことすべてでした。
Sudo aptitude install -y python-software-properties python g++ make
Sudo add-apt-repository -y ppa:chris-lea/node.js
Sudo aptitude update
Sudo aptitude install nodejs
Sudo aptitude install npm
Sudo npm install -g cordova
Sudo npm install -g phonegap
phonegap create my-app
cd my-app
export PATH=${PATH}:/home/oshirowanen/Downloads/adt-bundle-linux-x86_64-20131030/sdk/platform-tools:/home/oshirowanen/Downloads/adt-bundle-linux-x86_64-20131030/sdk/tools
Sudo aptitude install ant
cordova platform add Android
android create avd --name my_and --target 1
phonegap run Android
その必要はありませんでしたか?
元の質問:
Ubuntu 12.04コンピューターで、npmとcordovaを使用してnode.jsをインストールしました。
$ node -v
v0.10.23
$ npm -v
1.3.17
$ cordova -v
3.3.0-0.1.1
Androidを追加しようとすると:
$ cordova platform add Android
次の出力が得られます。
Creating Android project...
/usr/lib/node_modules/cordova/node_modules/q/q.js:126
throw e;
^
Error: An error occured during creation of Android sub-project.
/home/oshirowanen/.cordova/lib/Android/cordova/3.3.0/bin/node_modules/q/q.js:126
throw e;
^
Error: An error occurred while listing Android targets
at /home/oshirowanen/.cordova/lib/Android/cordova/3.3.0/bin/lib/check_reqs.js:87:29
at _rejected (/home/oshirowanen/.cordova/lib/Android/cordova/3.3.0/bin/node_modules/q/q.js:808:24)
at /home/oshirowanen/.cordova/lib/Android/cordova/3.3.0/bin/node_modules/q/q.js:834:30
at Promise.when (/home/oshirowanen/.cordova/lib/Android/cordova/3.3.0/bin/node_modules/q/q.js:1079:31)
at Promise.promise.promiseDispatch (/home/oshirowanen/.cordova/lib/Android/cordova/3.3.0/bin/node_modules/q/q.js:752:41)
at /home/oshirowanen/.cordova/lib/Android/cordova/3.3.0/bin/node_modules/q/q.js:574:44
at flush (/home/oshirowanen/.cordova/lib/Android/cordova/3.3.0/bin/node_modules/q/q.js:108:17)
at process._tickCallback (node.js:415:13)
at /usr/lib/node_modules/cordova/src/platform.js:244:30
at ChildProcess.exithandler (child_process.js:641:7)
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)
なぜこれが起こっているのか、どのように解決するのか知っていますか?
PhoneGapでも同じ問題が発生します。
Androidツールバイナリがパスにない可能性があります。
PhoneGapのドキュメント( http://docs.phonegap.com/en/2.9.0/guide_getting-started_Android_index.md.html )によると、Android SDKのtoolsおよびplatform-toolsPATH環境変数。
export PATH = $ {PATH}:/ Development/adt-bundle/sdk/platform-tools:/ Development/adt-bundle/sdk/tools
developmentは、SDKをインストールしたパスです。
Adt\sdk\toolsフォルダーから「Android」コマンドを実行し、最新のツールとSDKをインストールします。また、PATHに正しい変数があることを確認してください。
このためには、ANTをインストールする必要があります。Java JDKとAndroid SDKがインストールされている
Java_HOME(C:\ Program Files\Java\jdk)
ANT_HOME({ant location}\Apache\apache-ant)
Android_HOME({Android SDKの場所}\Android-sdk)
これらを%ANT_HOME%/ bin;%Android_HOME%\ tools;%Android_HOME%\ platform-tools;%Java_HOME%\ binなどのPATH変数に追加します
Cmdを閉じて再度開き、コマンドを再度実行します。
私はUbuntu 12.04を実行していますが、数分前まで同じ問題を抱えていました。
インストール中に見落としていたことに気付いた2つのこと:
Androidバージョンは19である必要があります。コンソールで「Android」と入力すると、出力またはウィンドウのポップアップが表示されます。フォルダーへのパスを追加してください。 Android.jarはPATH変数にあり、Android_HOMEも同じパスに設定します。通常、これは.bashrcファイルまたは/ etc/environmentで行います。これらのファイルのいずれかを編集する場合は、 「source〜/ .bashrc」または端末を再度開いてファイルを強制的に再読み込みします。「Android」と入力して動作を確認します。
Cordovaセットアップスクリプトが、Android SDKのサブディレクトリ「アドオン」にファイルを書き込もうとしていることを確認しました。そのディレクトリはAndroid = 19ディストリビューション自体。そのため、手動で作成し、ユーザーアカウントで書き込み可能にしました。
例:Android配布パス:
/opt/Android/
書き込もうとしているパス:
/opt/Android/sdk/add-ons
それができたら、上記の問題を乗り越えることができました。
ホームディレクトリでcordova andoridライブラリファイルが破損しているようです。
Home //。cordovaディレクトリを削除して、これを再度実行してみてくださいcordovaプラットフォームはAndroidを追加します Cordovaプロジェクトで。
/ platform-toolsおよび/ toolsがPATHにソースされていることを確認してください。
問題が解決しない場合は、適切な権限があることを確認してください
Sudo chmo-R 777 /home/your-user-name/.cordova/
また、プラットフォームとしてAndroidを追加するためにSudoを使用していないことを確認してください
これは、デフォルトのCordovaインストールでは正しくありません
Sudo cordova platform add Android
ただやる
cordova platform add Android
Android
Androidコマンドラインツールはシェルスクリプトに基づいて構築されています。PATHにAndroid SDKのツールとプラットフォームツールフォルダーが必要です!
プロジェクトを作成する
次のパラメーターを使用してcreateコマンドを実行します。
Path to your new Cordova Android project
Package name, following reverse-domain style convention
Main Activity name
$ /path/to/cordova-Android/bin/create /path/to/my_new_cordova_project com.example.cordova_project_name CordovaProjectName
コルドバを使用します。 2日同じ問題があります」Java、ant、Android、cordova、コマンドテストは大丈夫ですが、cordovaプラットフォームを追加してAndroid show meエラーを表示:Androidターゲット」。今、私はそれを使用して修正します: "chmod 777 ant and Android sdk place"、それは動作します。私はubuntu 14.04 32ビットを使用しますが、
他の誰かがこれに問題があるかどうかはわかりませんが、プラットフォームを削除して再度追加すると、config.xmlで<icon src='...'>
およびsrc内のパスが間違っていました。
プラットフォームを再度追加したときに受け取ったエラー出力は次のとおりです。cp: no such file or directory: C:\Users\{pathtofile}.png
。
パスを修正した後、正常に機能しました。
私はこれについて多くのことを検索しましたが、シェル変数$Android_HOME
のパスsdk/
私のフォルダadt-bundle
Androidからのディレクトリ。これを行うには、export
を使用します。
export Android_HOME="/Users/YOUR_USER/Developer/adt-bundle/sdk/"
しかし、あなたのディレクトリに合わせてディレクトリを変更してください。
幸運を!
このエラーは、互換性のあるAndroid SDKバージョン(現時点では4.2))がないために発生した可能性もあります。