ドキュメントは少し薄いようですが、これをオンラインで見つけようとしたのは確かですが、開発プロセスがPhoneGapとEclipseでどのように機能するはずなのか、実際にはわかりません。
私は多くのチュートリアルの1つに従い、cordovaコマンドラインを使用してHello Worldの例を作成しました。次に、Androidプラットフォームを追加してビルドを実行しました。その後、andoridyビットをEclipseのプロジェクトとして既存のソースに関連して、サブディレクトリプラットフォーム/ Androidディレクトリを使用して指示されたとおりに追加しました。これにより、私はエミュレーターをセットアップし、すべてが非常にうまくいきました。
私が今抱えている問題は、開発プロセスにあります。
「ビルド」コマンドを使用して作成されるため、Eclipseのプロジェクトのアセットディレクトリに表示されるファイルではなく、最上位ファイルを編集する必要があることを理解しています。これらの最上位ファイルは、プロジェクトのルートの上にあるため、Eclipseで作成したプロジェクトには存在しません。
それで、私の質問は... Eclipseを使用してこのプロジェクトを賢明な方法で開発できますか?
現在私がしていることは、Android wwwファイルを編集してから、それをクラウドビルドにポンプアップするために、ファイルをツリーにコピーして戻すことです。
実際のファイルをEclipseで使用できるようにする方法はありますか?それらを開発して、簡単にビルドしてエミュレーターにデプロイできますか?
PSそれは私の想像力ですか、コルドバのビルドには時間がかかりますか?
ソリューション
ルート内のwwwの場所へのリンクであるAndroidプロジェクト内にフォルダーを追加しました。これはフォルダー作成の詳細オプションの下にあります。
これを行うには、2つの異なるEclipseプロジェクトを使用する必要があります。 1つは開発用のmyProject/wwwフォルダー(「トップレベルプロジェクト」と呼びましょう)を含み、もう1つは特定のプラットフォームプロジェクト(たとえば、すでに行ったようにAndroid)を含みます。
トップレベルのプロジェクトでは、コードを記述し、必要に応じて、ある程度までデバッグすることもできます(cordovaを必要としない関数)。次に、CLIにcordova prepare
を保存して入力します。次に、Androidプロジェクトに切り替え、更新(F5)を押してエミュレータ/デバイスを実行し、バグを探して、Androidマニフェストを変更します。コードを変更する場合は、最上位のプロジェクトに再度切り替えて、同じことを繰り返します。
これは少し扱いにくいようです。それでも、cordovaがAndroidだけでなく、iOS、Windows Phone、BlackBerryでの開発にも対応していると考えてください。これらすべてのプラットフォームにアクセスするには、とにかく複数のIDEに切り替える必要があります。これにより、独立したプロジェクトにトップレベルのコードを含めることが非常に簡単になります。
いくつかのサイドノード:
このプロセスを数回行った後、2〜3秒以内にcordova prepare
に移行し、プロジェクトを切り替えます。大丈夫だと思います。
私自身、さまざまなEclipseプロジェクトを使用するだけでなく、さまざまなEclipseインストールを使用しています。これは、トップレベルとローレベルのファイルを混同しないように保護するので、私にとってはうまく調整されているように見えました。
Android専用に開発する場合でも、「cordova prepare」(またはprepare、build、emulate、runを含むcliコマンド)がファイルを上書き/削除するため、2つの異なるプロジェクトを使用する必要があります。
私のインストールでは、CLIを使用したビルドには、Eclipseの場合と同じ時間がかかります。どちらにも同じSDKを使用しているので、これは理にかなっています。ただし、上記のプロセスでは、cli-buildコマンドを使用する必要はありません。
Androidプラットフォームのみを使用していて、1つのプロジェクトで同じ名前のファイルと簡単に混同しない場合は、AndroidプロジェクトのmyApp/wwwフォルダーをリンクすることができます。この場合、プロジェクトは1つだけになります(この回答のクレジットはstevemarvell自身に送られます。完全を期すためにここに追加します)
上記のソリューションに加えて、「ローカルビルドAndroid」オプションと環境パス変数を「/ opt/local/bin:/ usr/bin:/ bin」に設定してphonegapユーティリティを実行する「外部ツール」構成を作成しました私のMac用。そこから、Eclipse CDTツールをインストールし、その「起動グループ」機能を使用して、プラットフォーム固有のプロジェクトでデバッグを呼び出す前に、トップレベルプロジェクトから外部ツールを実行しました。
かなりうまくいくようです。残念ながら、トップレベルのプロジェクトはLaunch Groupの実行を「記憶」していないため、毎回[Debug]ドロップダウンから選択する必要があります。テストとしてトップレベルプロジェクトをJavaScriptに変換しましたが、効果がないようで、プロジェクトのプロパティの[実行/デバッグ設定]がすべてグレー表示されています。
ここで私の答えを参照してください: PhoneGap内の複数のHTMLファイルAndroidプロジェクト
Phonegap 3.0 CLIでNetbeansに移行した理由私のワークフローに適しています。