事前警告...
まず、公式ドキュメントのアップグレードマニュアルを気にしないでください。これは、1.0 から 1.1 に、次に 1.1 から 1.2 に、次に 1.2 から 1.3 にアップグレードするのに役立つだけです。複数のバージョンにまたがりたい場合は、自分が正しいことをしているかどうかわかりません。したがって、アップグレードするときは、新しいプロジェクトを最初から作成してください。
また、プロセスに行き詰まらないように先に進んでください。3.0 より前の Phonegap アプリでカスタム プラグインを使用している場合は、アップグレードするかどうかを慎重に検討してください。「カスタム プラグインに注意」までスクロールして、その理由を確認してください。
一歩一歩
そうは言っても、これは段階的なプロセスであり、行で区切られています。
1. コマンドライン
Phonegap 3.0 はコマンドライン ツールに関するものです。実際よりもはるかに恐ろしく見えます。そこで使用するいくつかのツールをインストールする必要があるだけです (ほとんどの場合、コマンド ラインでコマンドを入力します)。
知っておくべき最も重要な一般的なコマンドは次のとおりです。
//For Mac and Windows (on Windows, replace slashes by backslashes)
cd mySubfolder //Go to the subfolder "mySubfolder"
cd /MyTopLevelFolder/SomeOtherSubfolder //Go to any folder using the entire address
//Show a list of files and subfolders where you currently are
dir //On Windows
ls //On Mac
2. 正しい場所にいる
コマンド ライン ツールの最も重要な点は、現在どのディレクトリにいるかに常に注意を払う必要があることです。Phonegap にアプリをビルドしてデプロイするように指示することは、そのアプリのメイン フォルダーにいる場合にのみ機能します。
通常、Phonegap プロジェクトを操作するには、次のコマンドを使用してプロジェクトのホーム ディレクトリに移動する必要があります。
cd /Users/yourself/thePathToYourWorkspace/YourCurrentPhonegapProject //On Mac
cd D:\ThePathToYourWorkspace/YourCurrentPhonegapProject //On Windows
3. 悟りへの道
PS: インストールしたツールが正しく動作することを確認するために、現在のディレクトリにファイルが見つからない場合は、複数の追加ディレクトリを調べるようにコンピュータに指示する必要がある場合があります。パス変数と呼ばれるものを編集します。他の場所で調べてください。それほど難しくはありませんが、Windows と Mac では異なります。
4. ツールボックスのツールボックスを最初に入手する
開始するには、基本的なドキュメントで問題ありません。他のツールが使用するツールであるnode.jsをダウンロードしてインストールし、それを使用して phonegap/cordovaコマンドライン ツールをインストールします。
//Like so, for Mac
$ sudo npm install -g phonegap
//Note: the "sudo" bit is needed to install a number of necessary files in folders that Apple protects from direct user editing
これからは、「phonegap」コマンドを使用して、プロジェクトの多くのタスクを実行できます。
5.ワークスペースを開く
最初に行う必要があるのは、ワークスペースを作成することです。これは、すべてのプロジェクトのマスター フォルダーを表す一般的な言葉です(これは、Windows エクスプローラー、Finder、またはその他の使いやすいものを使用して行うこともできます)。
特に Windows の場合は、スペースを使用せずにそのフォルダーへのパス全体を入力できることを確認してください。したがって、ワークスペースを「マイ ドキュメント」のような場所に置かないでください。特に、それは C:\Documents and settings\John Doe\" のサブディレクトリであるためです。代わりに、「D:\Workspace\」のような場所を試してください。
すでに他の目的で Dropbox を使用していて、Dropbox フォルダの場所を変更するのにそれほど手間がかからない場合は、ワークスペースの自動バックアップに使用することを検討してください。Dropbox フォルダを D:\ または他のディスクのルート ディレクトリに置くだけです。次に、Workspace を Dropbox の直接のサブフォルダーとして追加します。
Dropbox を使用すると、プロジェクト内のファイルを同期している場合、開発中に非常にまれに妨げられることがあります。しかし、最終的には、ファイルの多くのバージョンの自動バックアップがあるということです。現在のすべてのバージョン、昨日のいくつかのバージョン、前日の各バージョンの 1 つのバージョンです。
6. プロジェクトを作成する
次に、コマンドを使用して、コマンドライン コンソールでワークスペース ディレクトリに移動しますcd
。そこにあるとき、次のコマンドを使用して、空のアプリの基本構造を配置するように Phonegap に指示します。
$ phonegap create hello com.yourCompanyName.yourAppName HelloWorld
これにより、HelloWorld フォルダーが作成され、アプリのバックボーンであるファイルを含む多数のサブディレクトリがそのフォルダーに格納されます。
7.足場に掛ける
次に、この構造を埋めます。ほとんどの場合、アプリは HTML、CSS、Javascript ファイルの束になります。それらはメインの www フォルダーに移動します。このフォルダーには、使用するアイコン、表示する名前、Android ステータス バーを表示するかどうか、ホワイトリストに登録するドメインなど、アプリの多くの設定を含む config.xml ファイルも含まれます。
Phonegap はこれらのファイルを /www ディレクトリにまとめて、「編集可能な」ものをすべてまとめます。プラグインのような凝ったことをアプリで行わない場合は、問題ありません。
8. 正しい方法でホワイトリストに登録する
アプリの一部が実際にインターネットにアクセスする場合は、たとえ Google アナリティクスのようなものであっても、Phonegap に適切なドメイン名を「ホワイトリストに登録」するように指示する必要があります。前述のように、これは MyProject\www\config.xml のタグを使用して行われます。
Phonegap は、この問題に関するプラットフォーム間の違いに対処するのに苦労しているため、これは難しいビジネスです。
Android の場合 (例として Google アナリティクスを使用)、次のようにドメインをホワイトリストに追加します。
このドメインを 2 回追加する理由は、多くのオンライン サービスが検証されていない単純な http:// プロトコルで開始されているためですが、それらの機能の一部は、その後、同じドメインの安全な https:// アドレスとの間でコードを取得または送信する可能性があります。
**www.**google-analytics.com だけでなく、メインの google-analytics.com または任意のサブドメインからもスクリプトやその他のものをダウンロードできるようにする必要があるため、アスタリスクは重要です。
9. エクストラを接続する
アプリに特別な機能 (電話、連絡帳、カメラ、加速度計へのアクセスなど、Android がユーザーに許可を求めるもの) が必要な場合は、アプリ プロジェクトにプラグインをインストールする必要があります。
ドキュメントのこちらを見て、その方法を確認してください。
また、Phonegap に不要なアクセス許可を要求しないように指示する行を config.xml に追加してください。
<preference name="permissions" value="none" />
ドキュメントには、これは 1 つの許可 (ネットワーク アクセス) のみを要求していることを意味すると書かれていますが、それは正しくありません。例: カメラ プラグインをインストールした場合、上記の value=none 設定タグを追加したかどうかに関係なく、アプリはユーザーにカメラへのアクセス許可を求めます。他のすべての機能/権限についても同じです。
10. カスタムプラグインに注意
また、これは Phonegap のバグのようです。プラグインとアクセス許可の設定に関係なく、アプリは常にRECORD_VIDEO、ACCESS_COARSE_LOCATION、ACCESS_FINE_LOCATIONの 3 つのアクセス許可を取得しようとします。
Phonegap は、どこかで指定したかのように、それらを Android マニフェストに配置するだけです。実際にアプリ ストアにリリースするためにアプリをビルドするときは、これを修正する必要があります。方法: 最後のビルドの直後、パッケージに署名してリリースする前に AndroidManifest.xml を編集します。
そうすれば、これらの厄介な権限を取得できます。ただし、新しいバージョンのアプリをアプリ ストアにアップロードするたびに、これを繰り返さなければなりません。
標準のプラグインに加えて、Phonegap にはサードパーティのカスタム プラグインが常に多数あります。Phonegap 3.0 では、それらのインストール方法が以前とはまったく異なります。すでにドリルを知っている怠惰な専門家は、「コアプラグインをインストールするのと同じです」と言いますが、誰もどこにも例を挙げようとはしません。
3.0 より前のプラグインのインストール プロセスを 3.0 以降のプロセスに変換する方法を知っている場合は、コメントを追加してください。このマニュアルにコピーして貼り付けます。
アプリのテストを開始する準備が整ったら、まずデバイスを接続 (またはエミュレーターをインストール) します。これらのコマンドは最も役に立ちますが、すべてが適切に文書化されているわけではありません...
$ phonegap build android //This builds a test app, but doesn't run it
$ phonegap run android //This builds the test app AND runs it on device/emulator
その後、アプリが目的どおりに機能し、アプリ ストアに配置する準備ができたら、ストア対応のアプリ パッケージ (.apk)を作成するための最後の手順をいくつか実行する必要があります。
「ant」をインストールする必要があります。私の場合、他のすべてのものをインストールすると、ant も自動的にインストールされたことになります。Ant はパッケージをビルドするためのツールです (検証済みの事実ではなく、私の愚かな推測です)。
11.アリが行くところに行く
これまでは、プロジェクトのホーム ディレクトリからコマンド ライン コンソールでコマンドを実行してきました。ただし、これらのコマンドで作成した Android apk を使用する必要がありますが、'ant' は、'phonegap' がそれらをどこで見つけるかを知っているため、知りません。
それでは、サブサブディレクトリに進んでください...
cd platforms/android //This is a subdir of blabla/workspaces/myproject.
これは、作成した HTML/CSS/Js 用の Android アプリの Java ネイティブ「ラッパー」の場所です。
12.リリースの準備
アプリに最後の変更を加える必要がある場合 (AndroidManifest.xml から奇妙な許可要求を削除するなど) は、ここで行ってください。/platforms/android/bin のフォルダではなく、フォルダ /platforms/android の AndroidManifest.xml を必ず編集してください。
Phonegap のバグにより、いくつかの変更が必要になる場合があります。
- 不要な許可リクエストを削除する
- バージョン コードを手動で設定します (
Phonegap sets it to 1
config.xml で別の方法を指定した場合でも)。
13.アリを放す
アプリ ストアにコンテンツを公開する準備が本当に整っている場合は、このコマンドを実行するだけです。エラーが発生する準備をしてください。一度に 1 ステップずつ処理する方が、if-then プロセス全体をこのマニュアルに記載するよりも簡単です。
ant release
ant が完了すると、フォルダー /Platforms/Android/bin に YourAppName-release.apk というファイルが見つかるはずです。これは、Google Play にアップロードできるファイルです。
14.「アリ解放」で起こりそうな問題...
A. アプリには秘密鍵が必要です
鍵は秘密鍵ストア (ファイル) に保管されます。これが最初のアプリ バージョンではない場合は、保存した場所からその内容を取得し、D:\Developer\Keystores のようなシンプルで入力しやすい場所に配置します。初めてのアプリ バージョンの場合は、キーを作成します。
B. Ant が鍵を見つけられない
Ant はこのキーストアを探す場所を認識しないため、platforms/Android ディレクトリ内のファイルを編集して正しい方向を指すようにする必要があります。このファイルは ant.properties と呼ばれます。プレーン テキスト エディターを使用して、次のプロパティを追加します。
//Point it to the right directory:
key.store=/Users/Me/Dropbox/Developer/Keystores/keystoreForMyFirstApp //For Mac
key.store = D:\Dropbox\Developer\Keystores\keystoreForMyFirstApp //For Windows
//This describes the name of your signing key, as stored in the keystore
key.alias=FirstKey
これで、apk ファイルを Google Play やその他の Android ストアに配置する準備が整いました。すべてを網羅しているわけではありませんが、これらの手順は長い道のりを歩むはずです。コメント大歓迎です!