apk安装包构建方法记录flutter构建安卓apk安装包方法记录apk安装包构建方法记录

最后更新于 2024-10-25 593 次阅读


记录一次安卓apk安装包构建的过程

参考链接:

https://github.com/wgh136/PicaComic

https://book.flutterchina.club/chapter1/install_flutter.html#_1-3-1-安装flutter

https://juejin.cn/post/7325652953540657163

构建环境:Windows 10

需求构建软件:

·git for windows

·flutter

·Android Studio

一.Windows安装环境搭建

1)系统要求

要安装并运行Flutter,您的开发环境必须满足以下最低要求:

  • 操作系统: Windows 7 或更高版本 (64-bit)
  • 磁盘空间: 400 MB (不包括Android Studio的磁盘空间).
  • 工具: Flutter 依赖下面这些命令行工具.如果已安装Git for Windows,请确保可以在命令提示符或PowerShell中运行 git 命令

2)获取Flutter SDK

1、去flutter官网下载其最新可用的安装包,下载地址:https://flutter.dev/docs/development/tools/sdk/releases

2、 将安装包zip解压到你想安装Flutter SDK的路径,并且建议安装路径不要有中文(如:C:\\src\\flutter;注意,不要将flutter安装到需要一些高权限的路径如C:\\Program Files\\)。

3、在Flutter安装目录的flutter文件下找到flutter_console.bat,双击运行并启动flutter命令行,接下来,你就可以在Flutter命令行运行flutter命令了。

**#更新环境变量**

开始菜单栏,输入“env”

打开环境变量按钮

选择“PATH”变量行,点击编辑,然后把flutter/bin的绝对路径复制进去,博主这边的路径为:H:\soft\flutter_windows_3.24.4-stable\flutter\bin,后续环境变量的添加也是这样的操作。重启windows让配置生效。

运行flutter doctor命令检查安装依赖信息

在Flutter命令行(也可以在powershell运行)运行如下命令来查看是否还需要安装其他依赖,如果需要,安装它们:

flutter doctor

由于这个截图是博主已经安装完所有东西后的检测结果,所以东西都是正常,但是正常情况下还需要再安装Android studio和各种Android sdk,所以检测结果会报错,是正常的,我们继续安装流程。

3)Android studio下载和Android sdk配置

安装Android Studio

  1. 下载并安装 Android Studio,下载地址:https://developer.android.com/studio/index.html
  2. 启动Android Studio,然后执行“Android Studio安装向导”。这将安装最新的Android SDK、Android SDK平台工具和Android SDK构建工具,这些是用Flutter进行Android开发所需要的。

3.Android sdk的下载在sdk manager里边,路径如下Tools→SDK Manager

需要安装的sdk Tools如下(记得勾选show package details):

**#更新环境变量**

在各种Android SDK安装完成后,还需要再配置一次环境变量,需要配置的SDK为Andorid Studio和Cmake的。

Andorid Studio需要添加的路径为Android Studio\bin,默认情况下的安装路径应该为:C:\Program Files\Android\Android Studio\bin

Cmake 需要添加的路径为Android\Sdk\cmake\3.30.5\bin,默认情况下的安装路径应该为:C:\Users\{你电脑的用户名}\AppData\Local\Android\Sdk\cmake\3.30.5\bin

则添加完环境变量的系统如下,重启系统后生效。

4)开始准备打包前准备工作

1.修改你的flutter app的启动图标

具体步骤如下:在.android 目录下面 **android/app/src/main/res/ ** 这个文件夹下面中存放着app的图标,下图所框选的文件夹中替换你想要的启动图标

去替换图标即可,图标名称要保持一致并且要与之适配的分辨率

2.修改应用名称,在android文件夹下,android/app/src/AndroidManifest.xml 中

<application
    
         android:label="one-app"   //此处修改app名称 
        android:name="${applicationName}"
        android:icon="@mipmap/ic_launcher">
        <activity
            android:name=".MainActivity"
            android:exported="true"
            android:launchMode="singleTop"
            android:theme="@style/LaunchTheme"
            android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
            android:hardwareAccelerated="true"
            android:windowSoftInputMode="adjustResize">
            <!-- Specifies an Android theme to apply to this Activity as soon as
                 the Android process has started. This theme is visible to the user
                 while the Flutter UI initializes. After that, this theme continues
                 to determine the Window background behind the Flutter UI. -->
            <meta-data
              android:name="io.flutter.embedding.android.NormalTheme"
              android:resource="@style/NormalTheme"
              />
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>
        <!-- Don't delete the meta-data below.
             This is used by the Flutter tool to generate GeneratedPluginRegistrant.java -->
        <meta-data
            android:name="flutterEmbedding"
            android:value="2" />
    </application>

3.继续在android文件夹下面,找build.gradle ,是app下面的文件

第一处修改点: 找到这样一段代码前面

在此代码之前添加一段代码:


def keystorePropertiesFile = rootProject.file("key.properties")
def keystoreProperties = new Properties()
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))

修改完成,如下图所示

第二处修改点:

将此代码整体替换为下面的代码块:


signingConfigs {
    release {
        keyAlias keystoreProperties['keyAlias']
        keyPassword keystoreProperties['keyPassword']
        storeFile file(keystoreProperties['storeFile'])
        storePassword keystoreProperties['storePassword']
    }
    }
    buildTypes {
    release {
        signingConfig signingConfigs.release
    }
    }

4.在android文件夹下面新建一个文件,名称为:key.properties 用于存放生成app签名密钥的密钥口令和密钥存储文件位置信息

在此文件中添加以下信息

密码以及密钥存储位置都可以修改,根据自己需求来做!

key.jks的位置可以自己决定,密码也是,不过这一步要记住这个密码。

storePassword=123456
keyPassword=123456
keyAlias=key
storeFile=D:/key.jks #可以自主决定这个秘钥文件放的位置

5.这一步就快走到了打包的结尾,生成app签名密钥,

这里的D盘 可以修改为你想过要存储位置

#在Android Studio中alt+F12打开终端,然后需要先去到Android Studio的安装目录的Android Studio\\jbr\\bin目录下,默认情况下应该是C:\\Program Files\\Android\\Android Studio\\jbr\\bin路径

cd 'C:\\Program Files\\Android\\Android Studio\\jbr\\bin'

.\\keytool -genkey -v -keystore D:/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key

直接在终端输入这个命令,按回车,会出现如下内容:

这里我们输入之前自己设置的密码:123456即可,输入两次并成功之后,会出现让你填写如下图所示的等一系列信息。

输入完后按回车,密钥文件已生成,可在D盘进行查看。

6.最后一步打包,输入命令 flutter build apk

cd 返回你要打包的文件夹,输入命令:flutter build apk,等待打包完成即可

7.打包完apk后,我们发现在整个build\app目录中多了一个文件夹,

寻找一下我们的apk包,在此文件夹下面