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. git commit 之后,撤销commit操作

    撤销.修改commit 写代码过程中,如果已经git add [files] git -m commit [files],没有push代码到远程仓库,想撤销commit,可以根据实际情况,使用以下参数 ...

  2. java读取Properties文件的方法

    resource.properties的内容: com.tsinkai.ettp.name=imooc com.tsinkai.ettp.website=www.imooc.com com.tsink ...

  3. 【转】在Keil uv5里面添加STC元器件库,不影响其他元件

    先到网上下载stc.CBD(http://download.csdn.net/detail/mao0514/9699117) 还有STC新系列单片机的头文件,宏晶的网站就有 1.在Keil/C51/I ...

  4. Springboot 2.1.1.RELEASE 版本 session保存到MySQL里面

    1,pom.xml添加依赖: <!-- 数据库session管理 --> <dependency> <groupId>org.springframework.ses ...

  5. Django 之 rest_framework 响应器使用

    Django 之 rest_framework 响应器使用 使用部分: 第一步:导入模块 from rest_framework.renders import BrowsableAPIRenderer ...

  6. 【Netty】初识Netty

    一.为什么会出现Netty 之前我们使用通用的应用程序或库来相互通信.例如,我们经常使用HTTP客户机库从web服务器检索信息,并通过web服务调用远程过程调用.然而,通用协议或其实现有时伸缩性不是很 ...

  7. CentOS6.7安装部署之Tomcat多实例

    Tomcat单机多实例配置 操作前的准备:关闭防火墙,配置好IP地址,安装好JAVA环境 1.首先创建tomcat所有实例共同的工作目录/data/webapps以及tomcat所有实例的所在目录/d ...

  8. (转!)MySql Host is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts' 解决方法

    不要贪快,以你的聪明,只要有耐心,什么事不成,你真的争口气,羞羞这势利的世界也好! --久节奏,慢读书 转自:https://www.cnblogs.com/susuyu/archive/2013/0 ...

  9. vue-cli配置移动端自适应flexible.js

    第一部分:项目中引入lib-flexible 一.项目中安装lib-flexible npm install lib-flexible --save-dev 二.在项目入口文件main.js中引入li ...

  10. springMVC中的日期格式的转化

    一.jsp页面传递到controller的日期 如果实体类中封装的日期类型为Date,而jsp页面中的传来的为string类型,这个时候后台就会报错,出现400错误,原因是前后端的数据类型不一致.要将 ...