• 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_ljxandroid-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 没有许可证

    1. 找到你的sdk toos/bin目录下有个sdkmanager.bat2. cmd 命令行执行 sdkmanager --licenses; 然后会有一堆然后容让你同意的;
    3. 注意假如没出现需要你同意的直接100%了,那么你需要重新下载sdk了;
    4. 我的刚开始就是没有,直接卸载Android Studio重新按照Flutter官方文档的步骤运行会自动帮你装上 sdk5. 然后在运行那个命令你就会发现有一大堆需要你同意的了,一直Y就是了

    2:android sdk 版本不一致

    1. 也许有的人和我一样先安装的是vscode 然后自己下载的安卓 sdk; 
    2. 在后面又按官方步骤下Android Studio, 这时他又自动给你又下载一个 安卓SDK; 
    3. 问题是两个版本不一致,所以我打包时报 sdk版本不一致,一直下不回来;
    4. 我把sdk全部卸载在通过官网 Android Studio 安装步骤安装一个就行了

    3:个别依赖包下载不回来报错 xxx:verifyReleaseResources

    1. 我的项目里引入了几个依赖, 但是我是用的版本不是最新的, 
    2. 这时打包报错提示 依赖包依赖的 安卓 sdk和你所安装的sdk版本不一致, 这... 有毒;
    3. 这时你把依赖包的版本改为最新或最近的, 不过你的sdk安装时最好也选择最新的;这时问题就解决了

    三: 安卓 apk 打包之后正式版发现全部请求报错

    1.  原因: 正式版的安卓app 需要设置允许网路权限

    2.  解决:androidappsrcmainAndroidManifest.xml,manifest 和 androidappsrcprofileAndroidManifest.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" />

    四: Xcode ios打包报错 #import "XXXXXXXX"啥的, 依赖包引入不了

    1. 原因: windows 创建的 flutter 项目使用的是 swift 语言, 而 ios 需要的是 objc
    2. 解决: 新建空目录使用 flutter create -i objc my-flutter-app  创建新项目, 在把原项目下 lib 文件夹下的所有文件替换新创建的 lib 文件夹, 这就可以了;Androidios 都没问题
    以上就是实际项目打包遇到的问题;还有疑问之处欢迎留言
  • 相关阅读:
    跟我一起学Go系列:gRPC 全局数据传输和超时处理
    跟我一起学Go系列:Go gRPC 安全认证方式-Token和自定义认证
    c++中的继承关系
    数值型模板参数的应用
    [源码解析] 机器学习参数服务器Paracel (3)------数据处理
    [源码解析] PyTorch 分布式(2) --- 数据加载之DataLoader
    [源码解析] PyTorch 分布式(1) --- 数据加载之DistributedSampler
    [源码解析] 机器学习参数服务器 Paracel (2)--------SSP控制协议实现
    [源码解析] 机器学习参数服务器 Paracel (1)-----总体架构
    [源码解析]机器学习参数服务器ps-lite(4) ----- 应用节点实现
  • 原文地址:https://www.cnblogs.com/ljx20180807/p/12200085.html
Copyright © 2020-2023  润新知