Phonegap 3.x CLIを使用してローカルでAndroidアプリをビルドし、リリースの準備をするにはどうすればよいですか?プロジェクトのplatform / androidディレクトリ内に生成されたbinフォルダーを確認します。.debugAPKしかありません。
ちなみに、私はこのコマンドを使用します: phonegap local build android
Phonegap 3.x CLIを使用してローカルでAndroidアプリをビルドし、リリースの準備をするにはどうすればよいですか?プロジェクトのplatform / androidディレクトリ内に生成されたbinフォルダーを確認します。.debugAPKしかありません。
ちなみに、私はこのコマンドを使用します: phonegap local build android
回答:
これはPhonegap 3.0.xから3.3.xの場合です。PhoneGap 3.4.0以降については、以下を参照してください。
Phonegapのドキュメントで、回答の一部がここに見つかりました。完全なプロセスは次のとおりです。
コマンドラインウィンドウを開き、/ path / to / your / project / platforms / android / cordovaに移動します。
を実行しますbuild --release
。これにより、署名なしのリリースAPKが/ path / to / your / project / platforms / android / binフォルダーに作成され、YourAppName-release-unsigned.apkと呼ばれます。
Android開発者公式ドキュメントの指示に従ってAPKに署名し、調整します。
リンクを提供してくれた@LaurieClarkに感謝します(http://iphonedevlog.wordpress.com/2013/08/16/using-phonegap-3-0-cli-on-mac-osx-10-to-build-ios-and- android-projects /)、そしてそれを投稿したブロガー。
/path/to/your/project/platforms/android/ant-build
PhoneGap 3.4.0では、以下を呼び出すことができます。
cordova build android --release
「ant.properties」ファイルを「platforms / android」ディレクトリに次のように設定した場合:
key.store=/Path/to/KeyStore/myapp-release-key.keystore
key.alias=myapp
次に、キーストアのパスワードの入力を求められます。出力ファイル(myapp-release.apk)は、すでに署名および調整されており、展開の準備ができている 'platforms / android / ant-build'ディレクトリに保存されます。
ant.properties
しplatforms/android
、これら2つのプロパティをドロップしました。完璧に動作します、ありがとう!
コルドバ6.2.0で
cd cordova/ #change to root cordova folder
platforms/android/cordova/clean #clean if you want
cordova build android --release -- --keystore="/path/to/keystore" --storePassword=password --alias=alias_name #password will be prompted if you have any
以前の答え:
コルドバ5.0.0によると
{
"android": {
"release": {
"keystore": "app-release-key.keystore",
"alias": "alias_name"
}
}
}
そして./build --release --buildConfig build.json
、ディレクトリから実行しますplatforms/android/cordova/
キーストアファイルの場所はを基準にしているplatforms/android/cordova/
ため、上記の構成.keystore
ファイルでbuild.json
は同じディレクトリにあります。
keytool -genkey -v -keystore app-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000
@ steven-andersonまでフォローすると、ant.properties内でパスワードを設定することもできるため、プロセスを完全に自動化できます
したがって、platform \ android \ ant.propertiesに次のように入力した場合
key.store=../../yourCertificate.jks
key.store.password=notSoSecretPassword
key.alias=userAlias
key.alias.password=notSoSecretPassword
同じ問題が発生したため、多くのことを疑問に思いましたが、私のインストールでは「cordova」コマンドが使用できず、「phone gap build android --release」はplatform / android / ant.propertiesを無視しました。
プラットフォームフィルターの内側を見ると、「cordova」という名前のフォルダーが見つかり、その中に--release引数を受け入れる「ビルド」バイナリーがあり、キーチェーンを要求して、署名してプロダクションの準備ができました。 APK。
これは電話ギャップサイトのどの部分にも記載されていなかったので、率直に言って、私は電話ギャップがちょっと嫌いです:(
Google Playストアに展開するためのPhoneGap Androidアプリの構築
これらの手順は、Cordova、PhoneGapまたはIonicで機能します。唯一の違いは、が呼び出される場所がどこであっても、またはcordova
に置き換えることです。phonegap
ionic
、特定のシナリオでにです。
開発が完了し、展開の準備ができたら、次の手順に従います。
コマンドラインウィンドウを開きます(macOSおよびLinuxではターミナル、Windowsではコマンドプロンプト)。
/ path / to / your / project /に移動します。これをプロジェクトルートと呼びます。
プロジェクトのルートで、プラグインのセットから「コンソール」プラグインを削除します。
コマンドは次のとおりです。cordova plugin rm cordova-plugin-console
プロジェクトルートにいる間に、cordovaビルドコマンドを使用してリリース配布用のAPKを作成します。
コマンドは次のとおりです。cordova build --release android
上記のプロセスはandroid-release-unsigned.apk
、フォルダー内に呼び出されるファイルを作成しますProjectRoot/platforms/android/build/outputs/apk/
https://developer.android.com/studio/publish/app-signing.html#signing-manuallyの手順を使用してAPKに署名して調整します
。このステップの最後に、取得したAPKをPlayストアにアップロードできます。 。
注:初心者または初心者の場合、最後のステップは、私にとっては少しわかりにくいかもしれません。いくつかの問題に遭遇し、これらのコマンドが何であるか、およびそれらをどこに見つけるかについていくつかの質問があるかもしれません。
Q1。jarsignerとkeytoolとは何ですか?回答
: Androidアプリ署名の手順では、jarsignerとkeytoolのすべてについて具体的に説明していますが、コマンドラインウィンドウで「コマンドが見つかりません」というエラーが発生した場合の場所はわかりません。
したがって、Java開発キット(JDK)をPATH変数に追加した場合、ガイドのようにコマンドを実行するだけで機能します。ただし、PATHに含まれていない場合は、JDKインストールのbinフォルダーからいつでもアクセスできます。
Q2。zipalignはどこにありますか?
回答:見つけられないために高い確率があるzipalignコマンドをし、「コマンドが見つからないエラー」が。あなたはおそらくジップアラインをググって、どこでそれを見つけるのでしょう?zipalignユーティリティは、Android SDKのインストールフォルダ内に存在します。macOSでは、デフォルトの場所はです。フォルダに頭の上場合は、のような他のフォルダの束見つけるだろう、、、、...
[開く]フォルダを。。ここには、Android SDK Managerで使用しているビルドツールチェーンに応じてバージョン管理されたいくつかのフォルダーがあります。ZipAlignuser-name/Library/Android/sdk/
docs
platform-tools
build-tools
tools
add-ons
build-tools
cd build-tools
これらの各フォルダで使用できます。個人的には最新バージョンのフォルダを探しに行きます。Anyを開きます。
macOSまたはLinuxでは、ドキュメントに記載./zipalign
さzipalign
れているように単に入力するのではなく、使用する必要がある場合があります。Windowsではzipalign
十分です。
私はこれをzipalignと同じディレクトリに署名済みアプリをコピーして貼り付けることで機能させました。パスを指定しても、aapt.exeがソースファイルを見つけられなかったようです。つまり、これは機能しませんでした。 「aapt.exeCordovaApp-release-unsigned.apk」は、内部または外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されません。そして、これはzipalign -f -v 4 CordovaApp-release-unsigned.apk myappname.apkを実行しました
私はこの質問がPhonegap 3.Xについて具体的に尋ねていることを知っていますが、参考までに、4.0.0より上のバージョンのPhonegapは、デフォルトでは、AntではなくGradleを使用してビルドします。Gradleの代わりにAntを使用するには、これをconfig.xmlに追加できます。
<preference name="android-build-tool" value="ant" />
Gradleを使用する場合、キーストアの署名情報を新しい場所に移動する必要があります(この投稿で概説しています)。「と呼ばれる新しいファイルを作成しますrelease-signing.properties以下の内容を内部「build.gradle」ファイルとプットと同じフォルダには」
storeFile=..\\..\\some-keystore.keystore
storeType=jks
keyAlias=some-key
// if you don't want to enter the password at every build, you can store it with this
keyPassword=your-key-password
storePassword=your-store-password
あなたはこのコマンドを試すことができます、それはアプリをビルドして実行するはずです(したがって.apkが作成されるべきです):
phonegap local run android
<application android:debuggable="true"...
必要があるAndroidManifest.xmlファイルを手動で変更する必要がありました<application android:debuggable="false"