首页 > 建站教程 > APP开发,混合APP >  flutter 在vscode Terminal打包安卓apk,更改图标和app名正文

flutter 在vscode Terminal打包安卓apk,更改图标和app名

第一步、生成key
    1、在vscode的Terminal(工具底部)输入下面的命令,其中“D:/key.jks”表示将key生成到这里,-alias后面的为别名,后面配置key,会用到。
keytool -genkey -v -keystore D:/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key
    2、输入上面的命令,回车后,会让你输入口令,(口令随便写,至少6位密码)
输入密钥库口令:
再次输入新口令:
    3、口令输入完毕,回车会让你填写一系列信息,随便填写,或者不填写直接一直回车,最后出现“CN=123, OU=123, O=123, L=123, ST=123, C=123是否正确?”,填 " y "回车即可。

    此时,会在d盘,生成key.jks。

第二步、配置key
    在android目录下新建 “ key.properties ”文件,并填写下面内容:
storePassword=密匙库口令  //即上面生成key时填写的,如:123456
keyPassword=key密匙口令  //即上面生成key时填写的,如:123456
keyAlias=key别名  //即上面命令行 -alias参数后面的参数,如:key
storeFile=key路径  //即生成key的路径,如:D:/key.jks
第三步、配置build.gradle
    这里配置的是android/app/build.gradle,注意,不是android/build.gradle

    1、在android{ 前加入下面代码
def keystorePropertiesFile = rootProject.file("key.properties")
def keystoreProperties = new Properties()
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))

android {
...
    2、把android{}里面的buildTypes代码:
buildTypes {
    release {
        // TODO: Add your own signing config for the release build.
        // Signing with the debug keys for now, so `flutter run --release` works.
        signingConfig signingConfigs.debug
    }
}
      替换成下面代码:
signingConfigs {
    release {
        keyAlias keystoreProperties['keyAlias']
        keyPassword keystoreProperties['keyPassword']
        storeFile file(keystoreProperties['storeFile'])
        storePassword keystoreProperties['storePassword']
    }
}

buildTypes {
    release {
        // 替换成 release
        signingConfig signingConfigs.release
    }
}
第四步: 生成apk
    在Terminal中输入命令 “ flutter build apk ”,命令执行结果如下:
Initializing gradle...                                              0.8s
Resolving dependencies...                                           3.2s
Calling mockable JAR artifact transform to create file: C:\Users\Administrator\.gradle\caches\transforms-1\files-1.1\android.jar\82cd5b0be7868a5045965a34e94bb6cb\android.jar with input E:\Android\Sdk\platforms\android-28\android.jar
Running Gradle task 'assembleRelease'...
Running Gradle task 'assembleRelease'... Done                      84.4s
Built build\app\outputs\apk\release\app-release.apk (12.8MB).
    最后生成的apk在项目目录的 build\app\outputs\apk里

此外,如果想更改安卓apk图标和生成的apk名称,可以执行下面两步:
    1、进入android\app\src\main\res,找到mipmap-hdpi、mipmap-mdpi、mipmap-xhdpi、mipmap-xxhdpi、mipmap-xxxhdpi几个文件夹,将里面的图片替换掉。
    2、进入android\app\src\main,找到AndroidManifest.xml文件,找到下面代码:
<application
    android:name="io.flutter.app.FlutterApplication"
    android:label="flutter_demo01"
    android:icon="@mipmap/ic_launcher">
    这里的label就是生成的apk名称,下面的icon的“ic_launcher”是上面第一步替换的图片名称,如果改了图片名,这里也要更改。