flutter 打包apk

老子叫甜甜 提交于 2020-12-01 00:27:11

打包的具体操作,可以参照官网,只是官网没有那么细

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、打包完成后闪退:就是程序的问题,然后我调试的时候也是闪退,后来是我手残改了这里,然后颜色都不对了,也是扯淡。

然后节本没有其他问题了。

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!