首页 > 其他 > 详细

flutter 打包apk

时间:2020-03-26 23:33:18      阅读:87      评论:0      收藏:0      [点我收藏+]

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

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了,过程中我也遇到了些问题。

 

 

 

特别注意,打包后不能上网,要在android/app/src/main/AndroidManifest.xml     </manifest>里加上以下代码

<uses-permission android:name="android.permission.INTERNET"/>   

 

flutter 打包apk

原文:https://www.cnblogs.com/zxh1919/p/12577921.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!