【03】完整flutter的APP打包流程-以apk设置图标-包名-签名-APP名-打包流程为例—-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业

完整flutter的APP打包流程-以apk设置图标-包名-签名-APP名-打包流程为例

开发背景

我们以vs-code开发flutter项目来打包apk为例,介绍安卓apk打包流程设置图标、包名、签名、APP名等完整流程。接上一篇我们已经初步写了一个注册页面代码。

实战开始

首先确保安装必需的工具:

  • Flutter SDK
  • Android Studio(用于Android SDK和AVD)
  • Visual Studio Code

整体我们分为以下步骤:

  1. 设置包名
  2. 设置签名
  3. 设置APP名(应用名字)
  4. 设置LOGO
  5. 打包apk

详细步骤

1. 设置包名

修改android/app/build.gradle文件,在defaultConfig部分设置applicationId:

gradle 复制代码
defaultConfig {
    applicationId "com.youyacao.freefirend"
    namespace "com.youyacao.freefirend"
    // 其他配置...
}

2. 设置签名

在android目录下创建key.properties文件:

properties 复制代码
storePassword=your_store_password
keyPassword=your_key_password
keyAlias=your_key_alias
storeFile=path/to/your/keystore

修改android/app/build.gradle文件,添加签名配置:

gradle 复制代码
def keystoreProperties = new Properties()
def keystorePropertiesFile = rootProject.file("key.properties")
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))

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

小技巧:如果你同时需要开发iOS应用,可以使用Appuploader工具来简化iOS证书和描述文件的管理,它支持一键生成证书和描述文件,大大简化了iOS上架流程。

3. 设置应用名字

修改android/app/src/main/res/values/strings.xml文件:

xml 复制代码
<resources>
    <string name="app_name">FF社交</string>
</resources>

4. 设置图标

准备好应用图标,将其放置在以下目录中:

  • android/app/src/main/res/mipmap-hdpi/
  • android/app/src/main/res/mipmap-mdpi/
  • android/app/src/main/res/mipmap-xhdpi/
  • android/app/src/main/res/mipmap-xxhdpi/
  • android/app/src/main/res/mipmap-xxxhdpi/

图标文件名必须为ic_launcher.png。

5. 打包apk

执行以下命令进行打包:

bash 复制代码
flutter build apk --release

构建完成后,可以在build/app/outputs/flutter-apk/目录下找到生成的APK文件。

常见问题解决

  1. 如果提示"No Android SDK found",需要安装Android SDK并设置ANDROID_HOME环境变量。

  2. 如果提示"Some Android licenses not accepted",执行:

bash 复制代码
flutter doctor --android-licenses
  1. 如果遇到命名空间问题,确保在build.gradle中设置namespace而非在AndroidManifest.xml中设置package。

总结

通过以上步骤,我们完成了Flutter应用的打包流程。对于iOS开发者,可以考虑使用Appuploader这样的工具来简化证书管理流程,它支持自动生成证书、描述文件,并提供一键上传功能,特别适合需要同时维护Android和iOS应用的开发者。

相关推荐
野犬寒鸦2 小时前
多级缓存架构:性能与数据一致性的平衡处理(原理及优势详解+项目实战)
java·服务器·redis·后端·缓存
Tony Bai7 小时前
【Go开发者的数据库设计之道】05 落地篇:Go 语言四种数据访问方案深度对比
开发语言·数据库·后端·golang
eqwaak08 小时前
Flask实战指南:从基础到高阶的完整开发流程
开发语言·后端·python·学习·flask
笨蛋不要掉眼泪8 小时前
SpringBoot项目Excel成绩录入功能详解:从文件上传到数据入库的全流程解析
java·vue.js·spring boot·后端·spring·excel
追逐时光者10 小时前
一款专门为 WPF 打造的开源 Office 风格用户界面控件库
后端·.net
Lin_Aries_042111 小时前
容器化 Flask 应用程序
linux·后端·python·docker·容器·flask
yuriy.wang12 小时前
Spring IOC源码篇六 核心方法obtainFreshBeanFactory.parseCustomElement
java·后端·spring
Eoch7713 小时前
HashMap夺命十连问,你能撑到第几轮?
java·后端
每天进步一点_JL13 小时前
🔥 一个 synchronized 背后,JVM 到底做了什么?
后端
SamDeepThinking13 小时前
有了 AI IDE 之后,为什么还还要 CLI?
后端·ai编程·cursor