1.集成友盟push提示androidx版本号不一致,需在gradle文件中手动选择即可,如下

 buildscript {
repositories {
google()
jcenter()
maven { url 'https://dl.bintray.com/umsdk/release' }
} dependencies {
classpath 'com.android.tools.build:gradle:3.2.1'
} subprojects {
//根据提示使用对应的版本
project.configurations.all {
resolutionStrategy.eachDependency { details ->
if (details.requested.group == 'com.android.support'
&& !details.requested.name.contains('multidex') ) {
details.useVersion "27.1.1"
} if (details.requested.group == 'androidx.core'
&& !details.requested.name.contains('androidx') ) {
details.useVersion "1.0.0"
}
if (details.requested.group == 'androidx.coordinatorlayout'
&& !details.requested.name.contains('androidx') ) {
details.useVersion "1.0.0"
}
if (details.requested.group == 'androidx.documentfile'
&& !details.requested.name.contains('androidx') ) {
details.useVersion "1.0.0"
}
if (details.requested.group == 'androidx.print'
&& !details.requested.name.contains('androidx') ) {
details.useVersion "1.0.0"
}
if (details.requested.group=='androidx.arch.core' ) {
details.useVersion "2.0.0"
}
if (details.requested.group=='androidx.drawerlayout' ) {
details.useVersion "1.0.0"
}
if (details.requested.group=='androidx.fragment' ) {
details.useVersion "1.0.0"
}
}
}
} } allprojects {
repositories {
google()
jcenter()
maven { url 'https://dl.bintray.com/umsdk/release' }
}
} rootProject.buildDir = '../build'
subprojects {
project.buildDir = "${rootProject.buildDir}/${project.name}"
}
subprojects {
project.evaluationDependsOn(':app')
} task clean(type: Delete) {
delete rootProject.buildDir
}

2.打包的时候找不到libflutter.so文件

这是对应平台的so文件不存在造成的,方法是只选择一种平台,一般手机对支持armv7架构,所以在app的build.gradle下设置ndk过滤就好

  ndk {
//选择要添加的对应cpu类型的.so库。
abiFilters 'armeabi-v7a'
// abiFilters 'arm64-v8a'
// 还可以添加 'x86', 'x86_64', 'mips', 'mips64', 'armeabi', 'armeabi-v7a', 'arm64-v8a'
}

但是有个问题,最新的flutter默认只打64位的包,armv7的也会找不到那个so,这个时候就需要改flutter的编译环境了

在以下目录找到flutter.gradle

/flutter/packages/flutter_tools/gradle/flutter.gradle

然后找到465行的 getTargetPlatforms方法,修改为如下即可

    //whh 获取目标平台
private List<String> getTargetPlatforms() {//whh 无论如何配置,都只返回arm32和64位的so
// if (!project.hasProperty('target-platform')) {
return DEFAULT_PLATFORMS
// }
// return project.property('target-platform').split(',').collect {
// if (!PLATFORM_ARCH_MAP[it]) {
// throw new GradleException("Invalid platform: $it.")
// }
// return it
// }
}

当然你可以按照代码的逻辑把target-platform放到一个配置文件里,只不过我没时间去找这个配置文件是在哪里写的,如果有兴趣,欢迎补充

关于最新版本的flutter在安卓打包的问题解决方法的更多相关文章

  1. flutter vscode 安卓打包apk文件

    配置 VSCode默认是没有使用密钥签名的,往往我们在正式项目中是需要签名的.那就创建好了...所以需要自己创建并使用密钥签名 步骤一 创建密钥库 执行以下命令: keytool -genkey -v ...

  2. Webstorm官方最新版本for Mac版本 不用注册码/破坏原文件

    首先,说明下我自己安装的时候看到网上无外乎两种方法: 下载别人封装好的安装包,把JetbrainsCrack.jar复制到/Applications/WebStorm.app/Contents/bin ...

  3. 获取APP最新版本的接口案例

    思路: 开发初期.安卓的应用可能没有上传到应用市场,可以把应用apk放到服务器上,供用户下载.把对应用的版本信息整理成为一个XML文件,放到服务器上,通过接口读取xml文件,获取有版本信息,然后安卓端 ...

  4. Unity3D安卓打包参数配置与兼容性的关系分析

    前言 在使用Unity3D工程导出安卓安装包的时候,往往会遇到兼容性的问题,针对某些机型,要么无法打开游戏,要么会出现卡机的现象.面对这种情况,我们可以调节相关的参数来提高兼容性. 为了了解在打包时候 ...

  5. Android开发学习总结(一)——搭建最新版本的Android开发环境

    Android开发学习总结(一)——搭建最新版本的Android开发环境(转) 最近由于工作中要负责开发一款Android的App,之前都是做JavaWeb的开发,Android开发虽然有所了解,但是 ...

  6. Android项目源码界面超级华丽的仿QQ最新版本

    这是一个我们比较熟悉的一款应用,高仿专仿最新QQ应用源码,也是一个高仿QQ最新版本的项目,界面超级华丽,使用了大量的自定义控件,项目里实现了部分功能,例如WIFI-FTP(把手机变成FTP服务端,可以 ...

  7. Unity3D安卓打包

    Unity3D安卓打包须知: 最近在接触Unity3D,在打包安卓时,出现了一些问题,在这里写出来跟大家分享: 首先需要安装jdk和android-sdk,安装方法略 Jdk的目录结构如下: andr ...

  8. WebMisSharp升级说明,最新版本1.6.0

    尊敬的C3 AM.C3 FX.WebMisSharp用户您好: 非常感谢长期来您对WebMisSharp系列产品的支持,您的使用和反馈是我们进步的最大动力.在你们的帮助下我们又向前迈进了一步,我们功能 ...

  9. Android开发学习总结——搭建最新版本的Android开发环境

    原文出自:https://www.cnblogs.com/xdp-gacl/p/4322165.html#undefined 最近由于工作中要负责开发一款Android的App,之前都是做JavaWe ...

随机推荐

  1. 解决vue多次提交

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 <template>  <button @click="subm ...

  2. python之路第四天

    2018年7月17日 python开发IDE: pycharm.eclipse        # 专业版    # 不要汉化 安装:去官网下载pycharm 注册:https://blog.csdn. ...

  3. H3C 802.11e 协议

  4. (十一)Kubernetes StatefulSet控制器

    StatefulSet介绍 前面使用Deployment创建的Pod是无状态的,当挂载了volume之后,如果该Pod挂了,Replication Controller会再启动一个Pod来保证可用性, ...

  5. Fire Balls 03—— 多个圆环以及圆环的变速变向

    版权申明: 本文原创首发于以下网站: 博客园『优梦创客』的空间:https://www.cnblogs.com/raymondking123 优梦创客的官方博客:https://91make.top ...

  6. QT工程中添加资源(简单明了)

    1. 在工程文件下右击添加新文件 2. 在QT目录下选择QT Resource File 3. 填写资源名称 4. 点击完成就可以看到自己建立的资源了 5. 点击右键添加现有文件,找到自己要添加的资源 ...

  7. 一个Java字符串中到底有多少个字符?

    依照Java的文档, Java中的字符内部是以UTF-16编码方式表示的,最小值是 \u0000 (0),最大值是\uffff(65535), 也就是一个字符以2个字节来表示,难道Java最多只能表示 ...

  8. Simple Redux

    This is a post that tries to explain the the basics of Redux. We’ll build a minimal working example ...

  9. flux沉思录:面向store和通信机制的前端框架

    一.综述 Flux 被用来描述“单向”的数据流,且包含某些特殊的事件和监听器. 响应式编程是一种面向数据流和变化传播的编程范式 flux是响应式编程的一种? Flux 在本质上采用了模型-视图-控制器 ...

  10. 24 Home Assistant

    Home Assistant https://github.com/home-assistant/home-assistant python3 -m pip install homeassistant ...