この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 12549|答える: 0

[イオン式] Ionic Development Android App Practice(2):Android Packaging apk

[リンクをコピー]
掲載地 2018/06/20 10:16:52 | | | |
携帯電話への展開とcordovaプラグインの使用

私たちはシンプルなウェブアプリケーションを開発し、今からモバイル展開前の準備を進めています。
IonicはiOSとAndroidの2つのプラットフォームをサポートしていますが、デフォルトのIonicプロジェクトではこれら2つのプラットフォームは追加されません。コマンドを実行するには、手動で開発ディレクトリにcdを追加する必要があります。


ここで必要なのはAndroidプラットフォームだけで、実行後に追加されたプラットフォームのリストを表示するコマンドを実行します。

> コルドバプラットフォーム LS

テレメトリーは除外されました。 これを変更するには、コードバテレメトリオンを実行してください。
設置プラットフォーム:
  Android 7.0.0
利用可能なプラットフォーム:
  ブラウザ ~5.0.1
  ios ~4.5.4
  OSX ~4.0.1
  Windows ~5.0.0
  www ^3.12.0



Androidパッケージ


(このコマンドに問題がある場合は、-releaseを削除してデバッグコンパイルを行い、コンパイルが完了するとDOSはapkディレクトリの位置を表示します)

もしあなたの賢い目が次の言葉を見つけたら:成功を築きましょう! それは、あなたが無事に梱包したことを意味します。 焦らず待ちましょう。コマンドラインの最後にAPKがどこで生成されたかを教えてくれます。

再度パッケージングコマンドを実行すると、エラーは以下の通りになります。エラーは「jdkバージョンが高すぎる」というもので、「jdk-10.0.1」バージョンなので、「1.8.0_171」バージョンを再ダウンロードしてインストールすれば問題が解決します!!

C:\project\android\myApp>ionic cordova build android --release
実行中のapp-scripts build: --platform android --target cordova
[17:06:47] ビルド開発開始 ...
[17:06:47] クリーンスタート...
[17:06:47] クリーンは8ミリ秒で完了しました
[17:06:47] コピー開始 ...
[17:06:47] ディープリンクが開始...
[17:06:47] DeepLinksは15ミリ秒で終了しました
[17:06:47] トランスパイル開始 ...
[17:06:50] トランスパイルは3.71秒でゴールしました
[17:06:50] 前処理開始 ...
[17:06:50] 前処理は1ミリ秒で完了しました
[17:06:50] ウェブパックが始まった...
[17:06:51] コピーは3.96秒でゴールしました
[17:06:56] ウェブパックは5.58秒でゴールしました
[17:06:56] サスが始めた...
「from」オプションがないとPostCSSが誤ったソースマップを生成し、Browserslistの設定を見つけられなくなります。 この警告を防ぐために、CSSファイルパスか「未定義」に設定してください。
[17:06:58] サスは2.05秒でフィニッシュしました
[17:06:58] 後処理開始...
[17:06:58] ポストプロセスは10ミリ秒で完了しました
[17:06:58] 糸くずが始まった...
[17:06:58] ビルドデベロップは11.65秒で完了しました
>cordova build Android -- リリース

テレメトリーは除外されました。 これを変更するには、コードバテレメトリオンを実行してください。
Android Studioプロジェクトを検出

ANDROID_HOME=C:\Users\itsvse_pc\AppData\Local\Android\sdk
JAVA_HOME=C:\Program Files\Java\jdk-10.0.1
(ノード:14940) UnhandledPromiseRejectionWarning: Unhandled Promise rejection(拒否ID: 1):CordovaError: JDK 1.8以上の要件チェックに失敗
(ノード:14940) [DEP0018] DeprecationWarning:未処理の約束拒否は推奨されません。 将来的には、処理されない約束拒否は、ゼロでない終了コードでNode.jsプロセスが終了します。

[17:07:01] リントは3.00秒でゴールしました

上記のコマンドをもう一度実行してください。ネットワーク速度が遅く、初めての実行で多くのコンポーネントをダウンロードし、下の図のように12分間実行します。



C:\project\android\myApp\platforms\android\app\build\outputs\apk\release\app-release-unsigned.apk 是编译后的app存放地址。

「app-release-unsigned.apk」を自分のスマホ(Huawei Honor 10)にコピーすると、エラーは以下のようになります:



これはアプリが署名されておらずインストールできないためです。

APK署名

私のJavaディレクトリは環境変数にあるので、コマンドコマンドを実行するだけで済みます。

/*说明:-genkey 产生密钥
       -alias demo.keystore alias demo.keystore
       -keyalg RSAはRSAアルゴリズムを使って署名を暗号化します
       -有効期間40000 有効期間4000日
       -keystore itsvse.keystore filename */

apksignerはSDKディレクトリのbuild-toolsディレクトリにあります。 なお、v2署名方式はAndroid 7.0以降に導入されたため、apksigner.jarはバージョン>25のSDK\build-tools\にのみ記載されています。
cmdを開き、ディレクトリをSDK\build-tools\バージョン番号\lib(例:C:\Users\itsvse_pc\AppData\Local\Android\Sdk\build-tools\28.0.0\lib)にカットし、実行します:


例:

D:\>jarsigner -verbose -keystore demo.keystore -signedjar demo_signed.apk demo.apk demo.keystore
/*说明:-verbose 输出签名的详细信息
       -キーストアデモ.キーストアキーストアの場所
       -signedjar demor_signed.apk demo.apk demo.keystore が正式に署名し、demo_signed 3つのパラメータの順番に署名後にファイルが生成され、署名されるファイルdemo.apk、keystore demo.keystore.*/



apkがすでに署名されているか確認してください:

署名済みの「output.apk」ファイルを電話にコピーし、インストールすると通常通りインストールでき、以下の図のように正常に動作します。







先の:複数のJavaバージョンを完全にアンインストールする方法
次に:ListPageのコンポーネント工場は見つかりません。 追加しましたか?
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com