Browse Source

打包Android

warrior 2 months ago
parent
commit
b7b92570fb

+ 5 - 5
android/app/build.gradle

@@ -1,10 +1,10 @@
 apply plugin: 'com.android.application'
 
 android {
-    namespace "io.ionic.starter"
+    namespace "com.heychat.live"
     compileSdk rootProject.ext.compileSdkVersion
     defaultConfig {
-        applicationId "io.ionic.starter"
+        applicationId "com.heychat.live"
         minSdkVersion rootProject.ext.minSdkVersion
         targetSdkVersion rootProject.ext.targetSdkVersion
         versionCode 1
@@ -26,9 +26,9 @@ android {
         }
     }
     android.applicationVariants.all(variant ->{
-      variant.outputs.all{
-        outputFileName = "heychat.apk"
-      }
+        variant.outputs.all{
+            outputFileName = "heychat.apk"
+        }
     })
     buildTypes {
         release {

+ 1 - 0
android/app/src/main/AndroidManifest.xml

@@ -6,6 +6,7 @@
         android:icon="@mipmap/ic_launcher"
         android:label="@string/app_name"
         android:roundIcon="@mipmap/ic_launcher_round"
+        android:networkSecurityConfig="@xml/network_security_config"
         android:supportsRtl="true"
         android:theme="@style/AppTheme">
 

+ 1 - 1
android/app/src/main/java/io/ionic/starter/MainActivity.java → android/app/src/main/java/com/heychat/live/MainActivity.java

@@ -1,4 +1,4 @@
-package io.ionic.starter;
+package com.heychat.live;
 
 import com.getcapacitor.BridgeActivity;
 

+ 4 - 4
android/app/src/main/res/values/strings.xml

@@ -1,7 +1,7 @@
 <?xml version='1.0' encoding='utf-8'?>
 <resources>
-    <string name="app_name">nova-live</string>
-    <string name="title_activity_main">nova-live</string>
-    <string name="package_name">io.ionic.starter</string>
-    <string name="custom_url_scheme">io.ionic.starter</string>
+    <string name="app_name">hey聊</string>
+    <string name="title_activity_main">hey聊</string>
+    <string name="package_name">com.heychat.live</string>
+    <string name="custom_url_scheme">com.heychat.live</string>
 </resources>

+ 0 - 0
android/network_security_config.xml → android/app/src/main/res/xml/network_security_config.xml


+ 0 - 6
android/gradle.properties

@@ -11,12 +11,6 @@
 # The setting is particularly useful for tweaking memory settings.
 org.gradle.jvmargs=-Xmx1536m
 
-# android/gradle.properties
-org.gradle.caching=true
-org.gradle.parallel=true
-org.gradle.daemon=true
-org.gradle.configureondemand=true
-
 # When configured, Gradle will run in incubating parallel mode.
 # This option should only be used with decoupled projects. More details, visit
 # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects

+ 39 - 2
build.android.md

@@ -6,14 +6,51 @@
   ## 一、打包web资源到www文件内
   - ionic build --project=live-app//默认打包 或者 ng build live-app --output-path=www/live-app
   ## 二、添加 Android 平台
-  - npx cap sync android  添加 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文件
+  ``` bash
+        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文件新增(可选)
+  ``` bash
+    # android/gradle.properties
+    org.gradle.caching=true
+    org.gradle.parallel=true
+    org.gradle.daemon=true
+    org.gradle.configureondemand=true
+  ```
+
   ## 三、打包 Android 平台
    - npx cap build android 构建 Android 应用
    
-
+  ##  四、打开 Android Studio(可选)
+  - npx cap open android 这将自动启动 Android Studio 并打开 android 文件夹中的项目
 # cordova打包(弃用)
   - ionic cordova build android --release
 

+ 2 - 2
capacitor.config.ts

@@ -1,8 +1,8 @@
 import type { CapacitorConfig } from '@capacitor/cli';
 
 const config: CapacitorConfig = {
-  appId: 'io.ionic.starter',
-  appName: 'nova-live',
+  appId: 'com.heychat.live',
+  appName: 'hey聊',
   webDir: 'www',
   android: {
     buildOptions: {

+ 0 - 6
config.xml

@@ -23,12 +23,6 @@
         <edit-config file="app/src/main/AndroidManifest.xml" mode="merge" target="/manifest/application" xmlns:android="http://schemas.android.com/apk/res/android">
             <application android:networkSecurityConfig="@xml/network_security_config" />
         </edit-config>
-        <edit-config file="app/src/main/AndroidManifest.xml" mode="merge" target="/manifest/uses-permission[@android:name='android.permission.CAMERA']" xmlns:android="http://schemas.android.com/apk/res/android">
-            <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
-            <uses-permission android:name="android.permission.RECORD_AUDIO" />
-            <uses-permission android:name="android.permission.CAMERA" />
-        </edit-config>
-        <resource-file src="resources/android/xml/network_security_config.xml" target="app/src/main/res/xml/network_security_config.xml" />
         <allow-intent href="market:*" />
         <icon density="ldpi" src="resources/android/icon/drawable-ldpi-icon.png" />
         <icon density="mdpi" src="resources/android/icon/drawable-mdpi-icon.png" />

+ 9 - 1
resources/android/xml/network_security_config.xml

@@ -1,6 +1,14 @@
 <?xml version="1.0" encoding="utf-8"?>
 <network-security-config>
     <domain-config cleartextTrafficPermitted="true">
+        <domain includeSubdomains="true">nova-cloud.obs.cn-south-1.myhuaweicloud.com</domain>
         <domain includeSubdomains="true">localhost</domain>
+        <domain includeSubdomains="true">*.fmode.cn</domain>
+        <domain includeSubdomains="true">fmode.cn</domain>
+        <domain includeSubdomains="true">server.fmode.cn</domain>
+        <domain includeSubdomains="true">upload-z2.qiniup.com</domain>
+        <domain includeSubdomains="true">*.qiniup.com</domain>
+        <domain includeSubdomains="true">webapi.amap.com</domain>
+        <domain includeSubdomains="true">*.amap.com</domain>
     </domain-config>
-</network-security-config>
+</network-security-config>