使用android studio发布android与flutter混合开发项目
一、生成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混合开发项目的更多相关文章
- Flutter混合开发:Android接入Flutter
Flutter Google推出已经已经一年多了,单个 Flutter 项目的开发流程已经很成熟了.对与个人开发者来说使用 Flutter 开发一个跨平台的App挺有意思.但是对于现有的项目改造来说还 ...
- 【Flutter 混合开发】添加 Flutter 到 Android Activity
Flutter 混合开发系列 包含如下: 嵌入原生View-Android 嵌入原生View-iOS 与原生通信-MethodChannel 与原生通信-BasicMessageChannel 与原生 ...
- Android Studio发布Release版本之坑--Unknown host 'd29vzk4ow07wi7.cloudfront.net'
使用Android Studio发布Release版本时,出现Unknown host 'd29vzk4ow07wi7.cloudfront.net'...错误. 解决方法:修改本机的DNS为8.8. ...
- 【Flutter 混合开发】添加 Flutter 到 Android Fragment
Flutter 混合开发系列 包含如下: 嵌入原生View-Android 嵌入原生View-iOS 与原生通信-MethodChannel 与原生通信-BasicMessageChannel 与原生 ...
- Android开发新手学习总结(一)——使用Android Studio搭建Android集成开发环境
[新手连载]一:使用Android Studio搭建Android集成开发环境http://bbs.itcast.cn/forum.php?mod=viewthread&tid=87055&a ...
- 使用Android Studio搭建Android集成开发环境
有很长一段时间没有更新博客了,最近实在是太忙了,没有时间去总结,现在终于可以有时间去总结一些Android上面的东西了,很久以前写过这篇关于使用Android Studio搭建Android集成开发环 ...
- 【Android应用开发】Android Studio 简介 (Android Studio Overview)
一. Intelij IDEA 环境简介 Android Studio 来源 : Android Studio 是 Intelij IDEA 的免费版本 + Android SDK 集成的; -- I ...
- Android开发学习总结(二)——使用Android Studio搭建Android集成开发环境
有很长一段时间没有更新博客了,最近实在是太忙了,没有时间去总结,现在终于可以有时间去总结一些Android上面的东西了,很久以前写过这篇关于使用Android Studio搭建Android集成开发环 ...
- 使用Android Studio搭建Android开发环境
一.Android Studio简单介绍 2013年GoogleI/O大会首次发布了Android Studio IDE(Android平台集成开发环境).它基于Intellij IDEA开发环境,旨 ...
- Android开发工具Android Studio、Android SDK和Genymotion完全配置
所谓“工欲善其事,必先利其器”.Android Studio 是谷歌推出一个Android集成开发工具,基于IntelliJ IDEA. 类似 Eclipse ADT,Android Studio 提 ...
随机推荐
- 关于EasyExcel的数据导入和单sheet和多sheet导出
读写Excel基本代码 直接复制不一定能用 实体类 @ExcelIgnore 在导出操作中不会被导出 @ExcelProperty 在导入过程中 可以根据导入模板自动匹配字段, 在导出过程中可用于设置 ...
- python创建线程传参误区记录
创建线程可以使用threading模块中的Thread子类: 其中Thread子类允许的参数如下: (self, group=None, target=None, name=None, args=() ...
- 【转载】vue3 中如何像 vue2 的 extend 一样挂载未挂载的组件,拿到标签本身($el)
原文地址:https://blog.csdn.net/qq_39953537/article/details/110437554 vue3 中如何像 vue2 的 extend 一样挂载未挂载的组件, ...
- swagger-ui 导出离线文档md格式
<dependency> <groupId>io.github.swagger2markup</groupId> <artifactId>swagger ...
- css中所有的选择器(包括比较少见的选择器)
jQuery.CSS常用选择器 符号 描述 示例 说明 紧接无符号 相当于"并且"关系 input.k-textbox{ ...} 选出input并且包含k-textbox类的 ...
- React的行内样式与CSS
如何为组件添加 CSS 的 class? 传递一个字符串作为 className 属性: render() { return <span className="menu navigat ...
- KubeSphere离线无网络环境部署
KubeSphere离线无网络环境部署 KubeSphere 是 GitHub 上的一个开源项目,是成千上万名社区用户的聚集地.很多用户都在使用 KubeSphere 运行工作负载.对于在 Linux ...
- python之算术运算符复习
运算符 描述 实例 + 加 - 两个对象相加 a + b 输出结果 30 - 减 - 得到负数或是一个数减去另一个数 a - b 输出结果 -10 * 乘 - 两个数相乘或是返回一个被重复若干次的字符 ...
- [软件工程/数据工程] 软件工程&数据工程知识体系
1 概述 本篇是为了重新总结.重新编写5年前(2018-12-31 00:06),临近毕业时的一篇文章软件工程专业知识体系[求职/就业]而作,至此篇文章发布时,原文文章应已被删除.但第1章节中仍会存在 ...
- python语法的入门
1.变量 1.1: 底层原理:现在内存空间申请一块地址来储存变量值, 然后把申请的内存地址跟变量名绑定在一起 之后只需通过访问变量名就可以获取变量值 1.2:一个变量名只能指向一个内存地址,但是一个内 ...