build.android.md 3.6 KB

安装

  • cnpm install
  • 配置好java SKD 环境
  • 配置好Android 环境(adb命令正常)

    cap打包

    一、打包web资源到www文件内

  • ionic build --project=live-app//默认打包 或者 ng build live-app --output-path=www/live-app

    二、添加 Android 平台

  • npx cap add android 添加 Android 平台

  • npx cap sync android 同步你的项目配置到Android平台(如果尚未添加)

    • 打开 Android 项目(可选): npx cap open android
  • android\gradle\wrapper\gradle-wrapper.properties 中 gradle-wrapper.properties 中修改阿里镜像文件 distributionUrl=https://mirrors.aliyun.com/macports/distfiles/gradle/gradle-8.2.1-all.zip

  • 修改build.gradle文件

        android {
          ***
          signingConfigs {
              //签名信息
              release {
                  keyAlias System.getenv('KEY_ALIAS') ?: 'heychat'
                  keyPassword System.getenv('KEY_PASSWORD') ?: '12345678'
                  storeFile file(System.getenv('KEYSTORE_PATH') ?: '../heychat.keystore')
                  storePassword System.getenv('STORE_PASSWORD') ?: '12345678'
              }
          }
          android.applicationVariants.all(variant ->{
            variant.outputs.all{
              outputFileName = "heychat.apk"
            }
          })
          buildTypes {
              release {
                  ***
                  signingConfig signingConfigs.release
              }
          }
      }
    
  • gradle.properties文件新增(可选)

    # android/gradle.properties
    org.gradle.caching=true
    org.gradle.parallel=true
    org.gradle.daemon=true
    org.gradle.configureondemand=true
    
  • android\app\src\main\AndroidManifest.xml文件新增

    <!--可选权限-->
    <uses-permission android:name="android.permission.CAMERA"/>
    <uses-permission android:name="android.permission.RECORD_AUDIO"/>
    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.BLUETOOTH"/>
    <!-- 对于 Android 12.0 及以上且集成 v4.1.0 以下 SDK 的设备,还需要添加以下权限 -->
    <uses-permission android:name="android.permission.BLUETOOTH_CONNECT"/>
    <!-- 对于 Android 12.0 及以上设备,还需要添加以下权限 -->
    <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
    <uses-permission android:name="android.permission.BLUETOOTH_SCAN"/>
    

## 三、打包 Android 平台

  • npx cap build android 构建 Android 应用

## 四、打开 Android Studio(可选)

  • npx cap open android 这将自动启动 Android Studio 并打开 android 文件夹中的项目

    cordova打包(弃用)

  • ionic cordova build android --release

参考资料

Question:

  • 签名密钥问题
    • 如果你决定创建一个新的 keystore 文件,并使用简单的密钥别名,可以运行以下命令: keytool -genkey -v -keystore heychat.keystore -alias heychat -keyalg RSA -keysize 2048 -validity 10000
    • 查看签名配置信息:keytool -list -v -keystore D:\Desktop\works\nova-live\android\heychat.keystore -storepass 12345678
  • angular cli创建的项目不支持ionic命令问题
    • ionic init 生成ionic.config.json