Flutter 总结apk打包上架问题(keystore,依赖包下载报错,apk文件项目请求报错等)
时间:2020-01-16
本文章向大家介绍Flutter 总结apk打包上架问题(keystore,依赖包下载报错,apk文件项目请求报错等),主要包括Flutter 总结apk打包上架问题(keystore,依赖包下载报错,apk文件项目请求报错等)使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
本地码完代码,各环境测试人员测试完毕,正准备打包安卓apk上架应用商店时,烧脑问题来了而且还不止一个.......
接下面讲述我所遇到的几个问题: 本人掘金文章
一: keystore
签名生成不了,对于非原生的人来说这也是个蛮大的坑。按照Flutter
官方文档的步骤就是生成不了...
1. 原因,生成key的路劲不对,不要照搬官方的指令,修改下生成的路劲在引用
keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key
2. 改成下面这样就能生成了
keytool -genkey -v -keystore C:\work_ljx\android-key/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key
3. 在把生成的key.jks复制到项目文件android/app/
下, 在key.properties
里引入
storePassword=(你的秘钥)
keyPassword=(你的秘钥)
keyAlias=key(不用动)
storeFile=\key.jks(文件在android/app/key.jks下, 所以在这直接是\key.jks)
二: 依赖包下载不回来报错。
1:android sdk
没有许可证
找到你的sdk toos/bin目录下有个sdkmanager.bat,
cmd 命令行执行 sdkmanager --licenses; 然后会有一堆然后容让你同意的;
注意假如没出现需要你同意的直接100%了,那么你需要重新下载sdk了;
我的刚开始就是没有,直接卸载Android Studio重新按照Flutter官方文档的步骤运行会自动帮你装上 sdk,
然后在运行那个命令你就会发现有一大堆需要你同意的了,一直Y就是了
2:android sdk
版本不一致
也许有的人和我一样先安装的是vscode 然后自己下载的安卓 sdk;
在后面又按官方步骤下Android Studio, 这时他又自动给你又下载一个 安卓SDK;
问题是两个版本不一致,所以我打包时报 sdk版本不一致,一直下不回来;
我把sdk全部卸载在通过官网 Android Studio 安装步骤安装一个就行了
3:个别依赖包下载不回来报错 xxx:verifyReleaseResources
我的项目里引入了几个依赖, 但是我是用的版本不是最新的,
这时打包报错提示 依赖包依赖的 安卓 sdk和你所安装的sdk版本不一致, 这... 有毒;
这时你把依赖包的版本改为最新或最近的, 不过你的sdk安装时最好也选择最新的;这时问题就解决了
三: 安卓 apk 打包之后正式版发现全部请求报错
1. 原因: 正式版的安卓app 需要设置允许网路权限
2. 解决:android\app\src\main\AndroidManifest.xml,manifest
和 android\app\src\profile\AndroidManifest.xml,manifest
里添加这段代码, 然后在打包就解决这问题了
<uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
以上就是实际项目打包遇到的问题;还有疑问之处欢迎留言
原文地址:https://www.cnblogs.com/ljx20180807/p/12200085.html
- 51 Nod 1057 N的阶乘【Java大数乱搞】
- 2017 Multi-University Training Contest - Team 1 1011&&HDU 6043 KazaQ's Socks【规律题,数学,水】
- 2017 Multi-University Training Contest - Team 1 1001&&HDU 6033 Add More Zero【签到题,数学,水】
- 51 Nod 1005 大数加法【Java大数乱搞,python大数乱搞】
- 51 Nod 1029 大数除法【Java大数乱搞】
- 51 Nod 1027 大数乘法【Java大数乱搞】
- SQL常用的基础语法
- 51 Nod 1028 大数乘法 V2【Java大数乱搞】
- Gym 100952J&&2015 HIAST Collegiate Programming Contest J. Polygons Intersection【计算几何求解两个凸多边形的相交面积板子题
- Windows下Cygwin可以使用哪些Linux命令
- Codeforces Round #426 (Div. 2)【A.枚举,B.思维,C,二分+数学】
- Cygwin,打造你的Windows下Linux环境
- “玲珑杯”ACM比赛 Round #19题解&源码【A,规律,B,二分,C,牛顿迭代法,D,平衡树,E,概率dp】
- 2017 Multi-University Training Contest - Team 1 1003&&HDU 6035 Colorful Tree【树形dp】
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- laravel 自定义常量的两种方案
- Thinkphp页面跳转设置跳转等待时间的操作
- Laravel 创建可以传递参数 Console服务的例子
- laravel实现查询最后执行的一条sql语句的方法
- 解决laravel groupBy 对查询结果进行分组出现的问题
- laravel批量生成假数据的方法
- 对laravel in 查询的使用方法详解
- PHP使用redis位图bitMap 实现签到功能
- thinkphp5+layui实现的分页样式示例
- Laravel实现搜索的时候分页并携带参数
- PHP7.3.10编译安装教程
- Laravel-添加后台模板AdminLte的实现方法
- PHP7 安装event扩展的实现方法
- 在laravel框架中使用model层的方法
- 漂亮的thinkphp 跳转页封装示例