ionic3 deploying android - huang-qing/ionic3-platform GitHub Wiki

Ionic Android Deploying

platform setup

deploying to a device

Android Platform Guide

Running Your App

ionic cordova run android

ionic cordova run android --device

ionic cordova run android --prod --release

Production Builds

Android platform:

ionic cordova platform rm android

ionic cordova platform add android

✔ Running command - done!
Using cordova-fetch for cordova-android@~6.2.2
Adding android project...
Creating Cordova project for the Android platform:
        Path: platforms\android
        Package: com.ionicframework.ionicplatform155157
        Name: ionic_platform
        Activity: MainActivity
        Android target: android-25
Subproject Path: CordovaLib
Android project created with [email protected]
Installing "cordova-plugin-console" for android
Installing "cordova-plugin-device" for android
Installing "cordova-plugin-splashscreen" for android
Installing "cordova-plugin-statusbar" for android
Installing "cordova-plugin-whitelist" for android

               This plugin is only applicable for versions of cordova-android greater than 4.0. If you have a previous plat
form version, you do *not* need this plugin since the whitelist will be built in.

Installing "cordova-sqlite-storage" for android
installing external dependencies via npm
npm install of external dependencies ok
Installing "ionic-plugin-keyboard" for android
--save flag or autosave detected
Saving android@~6.2.3 into config.xml file ...
✔ Copying default image resources into ./resources/android - done!

Build android:

CLI : --prod --release

CLI 3:The run / build command has been renamed

ionic cordova build android 

ionic cordova build android --release --prod
> cordova build android
/ Running command [16:33:07]  lint finished in 5.24 s
✔ Running command - done!
ANDROID_HOME=C:\Users\huangqing\AppData\Local\Android\sdk
JAVA_HOME=C:\Program Files\Java\jdk1.8.0_131
Starting a Gradle Daemon, 1 incompatible and 1 stopped Daemons could not be reused, use --status for details
:wrapper

BUILD SUCCESSFUL

......

BUILD SUCCESSFUL

Total time: 35.272 secs
Built the following apk(s):
        F:/ionic3/ionic3-platform/platforms/android/build/outputs/apk/android-debug.apk

Update resources:

ionic resources

Sign Android APK

Deploying to a Device

Android Platform Guide

ionic2的打包,从调试到发布 --Android

ionic开发——Android应用程序签名(或重新签名)详解

cd platforms/android/build/outputs/apk
keytool -genkey -v -keystore my-release-key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias my-alias
输入密钥库口令:
再次输入新口令:
您的名字与姓氏是什么?
  [Unknown]:  my-alias
您的组织单位名称是什么?
  [Unknown]:  my-alias
您的组织名称是什么?
  [Unknown]:  my-alias
您所在的城市或区域名称是什么?
  [Unknown]:  my-alias
您所在的省/市/自治区名称是什么?
  [Unknown]:  my-alias
该单位的双字母国家/地区代码是什么?
  [Unknown]:  my-alias
CN=my-alias, OU=my-alias, O=my-alias, L=my-alias, ST=my-alias, C=my-alias是否正确?
  [否]:  是

正在为以下对象生成 2,048 位RSA密钥对和自签名证书 (SHA256withRSA) (有效期为 10,000 天):
         CN=my-alias, OU=my-alias, O=my-alias, L=my-alias, ST=my-alias, C=my-alias
输入 <my-alias> 的密钥口令
        (如果和密钥库口令相同, 按回车):
[正在存储my-release-key.jks]

zipalign

cd platforms/android/build/outputs/apk/

zipalign:优化程序

zipalign -v 4 android-release-unsigned.apk ionic3-demo.apk

Signing

before android v7.0

config auto signing:

创建以下文件:

platforms/android/release-signing.properties 

在文件中添加以下配置:

storeFile=build/outputs/apk/my-release-key.jks
keyAlias=my-alias
storePassword=my-alias
keyPassword=my-alias

android>=7.0 use signing v2

jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my-release-key.jks ionic3-demo.apk my-alias

use zipalign before signing

verify sign 验证签名

apksigner verify ionic3-demo.apk
⚠️ **GitHub.com Fallback** ⚠️