flutter 打包apk


打包的具體操作,可以參照官網,只是官網沒有那么細

1、修改AndroidManifest.xml

2、構建配置  可以跳過

3、構建簽名

4、創建 key.properties

5、配置混淆

6、修改builg配置build.gradle

7、打包

--------------------------------------------------分割線--------------------------------------------------------------------

1、修改AndroidManifest.xml

路徑:<app dir> /android/app/src/main/AndroidManifest.xml

3、構建簽名

使用keytool, 可以直接在Android Studio 的terminal里面操作

口令:keytool -genkey -v -keystore G:/keys/test.keystore -keyalg RSA -keysize 2048 -validity 10000 -alias key

區分開來的字段需要注意,存儲路徑 和   別名, 路徑里面的文件自己創建。

輸入口令之后,開始填寫一些信息,名字,公司....到了  【否】 這里寫y,繼續,沒有報錯的話簽名就構建ok了,notepad++打開一坨亂碼,我還在懷疑能用不呢。

4、創建 key.properties

 路徑:<app dir>/android/key.properties   文件手動創建

主要用來引入剛剛的簽名文件

key.properties

storePassword = exanple   這是你創建簽名寫的密碼
keyPassword = exanple   這是你創建簽名寫的密碼
keyAlias = key    口令里面的alias key  對應
storeFile = G:/andro/example/android/app/keys/test1.keystore    絕對路徑

5、配置混淆 

路徑<app dir> /android/app/proguard-rules.pro  手動創建

proguard-rules.pro

#Flutter Wrapper
-keep class io.flutter.app.** { *; }
-keep class io.flutter.plugin.**  { *; }
-keep class io.flutter.util.**  { *; }
-keep class io.flutter.view.**  { *; }
-keep class io.flutter.**  { *; }
-keep class io.flutter.plugins.**  { *; }

6、修改builg配置build.gradle

路徑:<app dir>/android/app/build.gradle

build.gradle

def keystorePropertiesFile = rootProject.file("key.properties") // 引入
def keystoreProperties = new Properties()
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
android {
    compileSdkVersion 28

    lintOptions {
        disable 'InvalidPackage'
    }

    defaultConfig {
        // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
        applicationId "myapp.flutter_kiminitodoke"
        minSdkVersion 16
        targetSdkVersion 28
        versionCode flutterVersionCode.toInteger()
        versionName flutterVersionName
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    signingConfigs {
        release {
            keyAlias keystoreProperties['keyAlias']
            keyPassword keystoreProperties['keyPassword']
            storeFile file(keystoreProperties['storeFile'])
            storePassword keystoreProperties['storePassword']
        }
    }

    buildTypes {
        release {
           signingConfig signingConfigs.release  // debug
            minifyEnabled true
            useProguard true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

7、打包

進入項目目錄

flutter build apk

打包好的發布APK位於<app dir>/build/app/outputs/apk/app-release.apk。

至此就ok了,過程中我也遇到了些問題。

1、簽名路徑問題,沒有寫絕對路徑。

2、打包完成后閃退:就是程序的問題,然后我調試的時候也是閃退,后來是我手殘改了這里,然后顏色都不對了,也是扯淡。

然后節本沒有其他問題了。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM