web-dev-qa-db-ja.com

PhoneGap / Cordova Android開発

更新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でも同じ問題が発生します。

51
oshirowanen

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をインストールしたパスです。

88
TomL

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を閉じて再度開き、コマンドを再度実行します。

10

私はUbuntu 12.04を実行していますが、数分前まで同じ問題を抱えていました。

インストール中に見落としていたことに気付いた2つのこと:

  1. Androidバージョンは19である必要があります。コンソールで「Android」と入力すると、出力またはウィンドウのポップアップが表示されます。フォルダーへのパスを追加してください。 Android.jarはPATH変数にあり、Android_HOMEも同じパスに設定します。通常、これは.bashrcファイルまたは/ etc/environmentで行います。これらのファイルのいずれかを編集する場合は、 「source〜/ .bashrc」または端末を再度開いてファイルを強制的に再読み込みします。「Android」と入力して動作を確認します。

  2. Cordovaセットアップスクリプトが、Android SDKのサブディレクトリ「アドオン」にファイルを書き込もうとしていることを確認しました。そのディレクトリはAndroid = 19ディストリビューション自体。そのため、手動で作成し、ユーザーアカウントで書き込み可能にしました。

例:Android配布パス:

/opt/Android/

書き込もうとしているパス:

/opt/Android/sdk/add-ons

それができたら、上記の問題を乗り越えることができました。

5
evolvingfaster

ホームディレクトリでcordova andoridライブラリファイルが破損しているようです。

Home //。cordovaディレクトリを削除して、これを再度実行してみてくださいcordovaプラットフォームはAndroidを追加します Cordovaプロジェクトで。

/ platform-toolsおよび/ toolsがPATHにソースされていることを確認してください。

1
Nagendhiran

問題が解決しない場合は、適切な権限があることを確認してください

Sudo chmo-R 777 /home/your-user-name/.cordova/

また、プラットフォームとしてAndroidを追加するためにSudoを使用していないことを確認してください

これは、デフォルトのCordovaインストールでは正しくありません

Sudo cordova platform add Android

ただやる

cordova platform add Android
0
Khaled Awad

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
0
user1374

コルドバを使用します。 2日同じ問題があります」Java、ant、Android、cordova、コマンドテストは大丈夫ですが、cordovaプラットフォームを追加してAndroid show meエラーを表示:Androidターゲット」。今、私はそれを使用して修正します: "chmod 777 ant and Android sdk place"、それは動作します。私はubuntu 14.04 32ビットを使用しますが、

0
Dr.Mask

他の誰かがこれに問題があるかどうかはわかりませんが、プラットフォームを削除して再度追加すると、config.xmlで<icon src='...'>およびsrc内のパスが間違っていました。

プラットフォームを再度追加したときに受け取ったエラー出力は次のとおりです。cp: no such file or directory: C:\Users\{pathtofile}.png

パスを修正した後、正常に機能しました。

0
superjisan

私はこれについて多くのことを検索しましたが、シェル変数$Android_HOMEのパスsdk/私のフォルダadt-bundle Androidからのディレクトリ。これを行うには、exportを使用します。

export Android_HOME="/Users/YOUR_USER/Developer/adt-bundle/sdk/"しかし、あなたのディレクトリに合わせてディレクトリを変更してください。

幸運を!

0
user3689258

このエラーは、互換性のあるAndroid SDKバージョン(現時点では4.2))がないために発生した可能性もあります。

0
rcason