一、生成androd签名证书

Android studio的Build > Grenerate Signed Bundle



选择apk



点击Create New



录入对应的签名信息;点击确定



对应盘符下就会生成一个签名文件

二、拷贝签名到项目目录

将签名文件拷入项目的app目录下

三、配置 greadle.properties

在greadle.properties中增加如下配置(对应上一步生成的签名证书的别名,密码)


MYAPP_RELEASE_KEY_ALIAS=android_keystore # 别名
MYAPP_RELEASE_KEY_PASSWORD=123456 # 别名密码
MYAPP_RELEASE_STORE_PASSWORD=123456 # 证书密码
MYAPP_RELEASE_STORE_FILE=android_keystore.jks # 证书路径

四、配置build.gradle(Module:app)

在android下增加如下配置(注意release中配置的value一定要对应到上一步greadle.properties中配置的key,否则编译报错)


android {
# 省略其他配置 .... # 新增配置
signingConfigs{
release{
storeFile file(MYAPP_RELEASE_STORE_FILE)
storePassword MYAPP_RELEASE_STORE_PASSWORD
keyAlias MYAPP_RELEASE_KEY_ALIAS
keyPassword MYAPP_RELEASE_KEY_PASSWORD
}
}
buildTypes {
release {
# 省略其他配置 ....
# 新增配置
signingConfig signingConfigs.release
}
}
# 省略其他配置 ....
}

五、解决 Compatible side by side NDK version was not found.

配置完成后

使用android studio运行gradlew assembleRelease 打包发布android与flutter混合开发项目提示

D:\learnFlutter\flutter_hybrid\Flutterhybridandroid>gradlew assembleRelease

Compatible side by side NDK version was not found.
Unable to strip library 'D:\learnFlutter\flutter_hybrid\Flutterhybridandroid\app\build\intermediates\merged_native_libs\release\out\lib\arm64-v8a\libapp.so' due to missing strip tool for ABI 'ARM64_V8A'. Packaging it as is.
Unable to strip library 'D:\learnFlutter\flutter_hybrid\Flutterhybridandroid\app\build\intermediates\merged_native_libs\release\out\lib\armeabi-v7a\libflutter.so' due to missing strip tool for ABI 'ARMEABI_V7A'. Packaging it as is.
62 actionable tasks: 59 executed, 3 up-to-date

Android studio的File->Project Structure窗口下进行NDK的相关下载



等待下载完成



现在完成后会自动同步ndk路径



点击OK后gradle会自动同步

六、解决 Compatible side by side NDK version was not found.

有提示了另一个错误


Compatible side by side NDK version was not found.
Unable to strip library 'D:\learnFlutter\flutter_hybrid\Flutterhybridandroid\app\build\intermediates\merged_native_libs\release\out\lib\arm64-v8a\libapp.so' due to missing strip tool for ABI 'ARM64_V8A'. Packaging it as is.
Unable to strip library 'D:\learnFlutter\flutter_hybrid\Flutterhybridandroid\app\build\intermediates\merged_native_libs\release\out\lib\armeabi-v7a\libflutter.so' due to missing strip tool for ABI 'ARMEABI_V7A'. Packaging it as is.
62 actionable tasks: 59 executed, 3 up-to-date
D:\learnFlutter\flutter_hybrid\Flutterhybridandroid>gradlew assembleRelease
62 actionable tasks: 8 executed, 54 up-to-date

根据android官网提示进行ndk版本配置

到安装的ndk目录下找到souce.propertites打开

根据

在build.properties中配置ndk版本

配置完成gradle自动同步

七、最后执行 gradlew assembleRelease打包

终于没有提到错误了


D:\learnFlutter\flutter_hybrid\Flutterhybridandroid>gradlew assembleRelease
62 actionable tasks: 5 executed, 57 up-to-date

在project 目录下也看见了久违的app-release.apk

最后就可以将这个apk发到真机安装了

使用android studio发布android与flutter混合开发项目的更多相关文章

  1. Flutter混合开发:Android接入Flutter

    Flutter Google推出已经已经一年多了,单个 Flutter 项目的开发流程已经很成熟了.对与个人开发者来说使用 Flutter 开发一个跨平台的App挺有意思.但是对于现有的项目改造来说还 ...

  2. 【Flutter 混合开发】添加 Flutter 到 Android Activity

    Flutter 混合开发系列 包含如下: 嵌入原生View-Android 嵌入原生View-iOS 与原生通信-MethodChannel 与原生通信-BasicMessageChannel 与原生 ...

  3. Android Studio发布Release版本之坑--Unknown host 'd29vzk4ow07wi7.cloudfront.net'

    使用Android Studio发布Release版本时,出现Unknown host 'd29vzk4ow07wi7.cloudfront.net'...错误. 解决方法:修改本机的DNS为8.8. ...

  4. 【Flutter 混合开发】添加 Flutter 到 Android Fragment

    Flutter 混合开发系列 包含如下: 嵌入原生View-Android 嵌入原生View-iOS 与原生通信-MethodChannel 与原生通信-BasicMessageChannel 与原生 ...

  5. Android开发新手学习总结(一)——使用Android Studio搭建Android集成开发环境

    [新手连载]一:使用Android Studio搭建Android集成开发环境http://bbs.itcast.cn/forum.php?mod=viewthread&tid=87055&a ...

  6. 使用Android Studio搭建Android集成开发环境

    有很长一段时间没有更新博客了,最近实在是太忙了,没有时间去总结,现在终于可以有时间去总结一些Android上面的东西了,很久以前写过这篇关于使用Android Studio搭建Android集成开发环 ...

  7. 【Android应用开发】Android Studio 简介 (Android Studio Overview)

    一. Intelij IDEA 环境简介 Android Studio 来源 : Android Studio 是 Intelij IDEA 的免费版本 + Android SDK 集成的; -- I ...

  8. Android开发学习总结(二)——使用Android Studio搭建Android集成开发环境

    有很长一段时间没有更新博客了,最近实在是太忙了,没有时间去总结,现在终于可以有时间去总结一些Android上面的东西了,很久以前写过这篇关于使用Android Studio搭建Android集成开发环 ...

  9. 使用Android Studio搭建Android开发环境

    一.Android Studio简单介绍 2013年GoogleI/O大会首次发布了Android Studio IDE(Android平台集成开发环境).它基于Intellij IDEA开发环境,旨 ...

  10. Android开发工具Android Studio、Android SDK和Genymotion完全配置

    所谓“工欲善其事,必先利其器”.Android Studio 是谷歌推出一个Android集成开发工具,基于IntelliJ IDEA. 类似 Eclipse ADT,Android Studio 提 ...

随机推荐

  1. 【Jenkins】linux与windows环境下的安装步骤

    linux环境: <1>安装jdk: https://www.cnblogs.com/poloyy/p/12801792.htmljdk (参考) <2>环境清理 find / ...

  2. 来自我的Moments-实用学习资源或网站

    目录 计算机基础知识 操作系统原理 计算机网络 其他 计算机技术栈 电子技术和嵌入式 计算机专业工作和面试 软件工程师手册(华为资料) 机器人工程师学习计划-硬核-知乎文章 提升效率的工具 BIT T ...

  3. 3分钟带你了解Hadoop是什么

    Hadoop是一种开源的分布式计算框架,它在Google的MapReduce论文发表后大受欢迎,并被广泛应用.Hadoop框架包括一个分布式文件系统(HDFS),它允许用户以分布式方式存储和管理大量数 ...

  4. 命令行启动kate||cmd启动kate|| 一行命令用kate编辑文件

    命令行启动kate||cmd启动kate|| 一行命令用kate编辑文件 先看: 在得知可以在命令行中输入code以启用vscode编辑器后 例 code D:\dLevel\Lenovo\Deskt ...

  5. 全网最详细中英文ChatGPT-GPT-4示例文档-智能编写Python注释文档字符串从0到1快速入门——官网推荐的48种最佳应用场景(附python/node.js/curl命令源代码,小白也能学)

    目录 Introduce 简介 setting 设置 Prompt 提示 Sample response 回复样本 API request 接口请求 python接口请求示例 node.js接口请求示 ...

  6. pysimplegui之窗口大小,位子,主题等属性修改

    重点 1finalize()或Window参数finalize=True 调用以强制窗口通过初始化的最后阶段.这将导致 tkinter 资源被分配,以便它们可以被修改.这也会导致您的窗口出现.如果您不 ...

  7. 3、XmlBeanFactory 对xml文件读取

    全局目录.md 引子 1.容器最基本使用.md 系列1 - bean 标签解析: 2.XmlBeanFactory 的类图介绍.md 3.XmlBeanFactory 对xml文件读取.md 4.xm ...

  8. 创建SVN和设置密码以及SVN自动更新

    重新创建版本库:    svnadmin create /usr/local/svn/month_exam //创建一个svn版本仓库month_exam(month_exam可以随便起名字) cd ...

  9. 实时分布式低延迟OLAP数据库Apache Pinot探索实操

    @ 目录 概述 定义 特性 何时使用 部署 Local安装 快速启动 手动设置集群 Docker安装 快速启动 手动启动集群 Docker Compose 实操 批导入数据 流式导入数据 概述 定义 ...

  10. 非关系型数据库---Redis安装与基本使用

    一.数据库类型 关系数据库管理系统(RDBMS) 非关系数据库管理系统(NoSQL) 按照预先设置的组织机构,将数据存储在物理介质上(即:硬盘上) 数据之间可以做无关联操作 (例如: 多表查询,嵌套查 ...