Android项目更新依赖和打包步骤和问题汇总

news2024/10/7 20:30:02

目录

  • 1、Android 项目打包,32位包升级到64位包
    • 问题一:ERROR: Conflicting configuration : 'armeabi-v7a,x86-64,arm64-v8a,x86' in ndk abiFilters cannot be present when splits abi filters are set : x86,armeabi-v7a,arm64-v8a
  • 2、Android项目依赖升级
    • **问题二:**
  • 3、升级依赖包的版本
    • 问题三、错误: 程序包junit.framework不存在
    • 问题四、(这个应该也是没升级到androidx前的问题)
  • 4、android集成支付宝sdk 更新
    • 问题五、ERROR: Manifest merger failed with multiple errors
    • 问题六、android alipay支付宝集成,提升到targetcompileversion 30 ,并且android.support提升到androidx,没有唤起 H5 页面,并且调用alipay接口paytask.payV2报错4000,系统繁忙请稍后再试

1、Android 项目打包,32位包升级到64位包

步骤一、
在app的build.gradle文件中添加如下代码

android {
	defaultConfig {
		ndk{
            abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86-64'
       }
	}
}

步骤二、
在控制台中输入gradle assembleRelease ,参照参考链接,目的应该是生成64位so库文件

gradle assembleRelease

在这里插入图片描述

步骤三、
在app的build.gradle文件中更新build.gradle文件中的配置

android {
	splits {
        abi {
            enable true
            reset()
            include 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86-64'
            universalApk false
        }
    }
}

步骤四、
详细请参考“参考链接”,因为我没有这个文件夹,我就跳过这个步骤了
在这里插入图片描述

步骤五、
Build --> Clean Project --> Rebuild Project

步骤六、
至此,有可能会报ndk什么错误,参考问题一,把步骤一的ndk那段代码注释了就好了,然后再执行打包就从32位包打成64位包了

问题一:ERROR: Conflicting configuration : ‘armeabi-v7a,x86-64,arm64-v8a,x86’ in ndk abiFilters cannot be present when splits abi filters are set : x86,armeabi-v7a,arm64-v8a

错误信息指出在 ndk { abiFilters } 和 splits { abi } 配置中存在冲突

参考:Android 64位包替换32位包

2、Android项目依赖升级

因为targetSdkVersion 要从26升级到30,就相应的对依赖进行了升级
之前的依赖是使用android.support,给升级到androidx了

targetSdkVersion 30
minSdkVersion 23
compileSdkVersion 30

升级步骤:
步骤一、
在这里插入图片描述
步骤二、(如果页面不一致,可参考问题二)
这边可以打包存一份自己原来的项目代码
在这里插入图片描述

**步骤三、**等待完成
在这里插入图片描述
步骤四、
在这里插入图片描述
**步骤五、**等待完成
在这里插入图片描述

完成之后,整个项目大改
原来的依赖从android.support升级为androidx

问题二:

因为我的project的build.gradle是3.0.1的需要升级,直接点ok就行
在这里插入图片描述
然后修改project的build.gradle的版本,会有提示修改为多少版本
在这里插入图片描述

修改完之后 sync now 一下
在这里插入图片描述

参考:Android源码中com.android.support依赖迁移到AndroidX库

3、升级依赖包的版本

在这里插入图片描述
举个例子:找到有波浪线的,下拉滚动条,会有相应的版本提示,
在这里插入图片描述

在这里插入图片描述

在这儿填写上刚刚的15.8.7版本号,点击ok就行
在这里插入图片描述

问题三、错误: 程序包junit.framework不存在

依赖需要改为(一般升级androidx的时候应该自己改了,这个应该是升级前的问题,记录一下)

implementation 'junit:junit:4.12' // 或者更高的版本

问题四、(这个应该也是没升级到androidx前的问题)

程序包junit.framework不存在
通常和依赖com.jakewharton:butterknife (该依赖为注解相关依赖)有关

需要改为

implementation 'com.jakewharton:butterknife:10.2.3'
annotationProcessor 'com.jakewharton:butterknife-compiler:10.2.3'

4、android集成支付宝sdk 更新

可参考官网android集成
步骤一、
删除原来的jar包
在这里插入图片描述
在这里插入图片描述

步骤二、
在app的build.gradle文件中,删除旧的jar依赖,加入新的依赖,然后sync now 一下
在这里插入图片描述
步骤三、
在project的build.gradle中新增,然后sync now一下

buildscript {
    repositories {
        mavenCentral()
    }
}

步骤四、
依赖升级完成有一个问题就是targetSdkVersion升级到30之后,详见官网demo的manifest.xml文件

<!-- 如果您的 App 的 targetSdkVersion 大于或等于 30,则需要在 AndroidManifest.xml 中提供下面的应用可见性声明,
         让支付宝 SDK 感知设备上是否已经安装了支付宝 App。同时,您可能还需要升级 Gradle Plugin 到最新版本。
         关于 Android 11"应用可见性" 机制,参见 https://developer.android.com/about/versions/11/privacy/package-visibility?hl=zh-cn -->
    <queries>
        <package android:name="com.eg.android.AlipayGphone" /> <!-- 支付宝 -->
        <package android:name="hk.alipay.wallet" /> <!-- AlipayHK -->
    </queries>

剩下的就按照官网的集成步骤修改就行,参照demo,因为我这边只是版本升级,原来的集成没动,可以参考:安卓支付宝支付功能的集成,全网最详细教程(2019年8更新)

问题五、ERROR: Manifest merger failed with multiple errors

如果想查看详细日志,在控制台输入以下代码

gradlew processDebugManifest -stacktrace

在这里插入图片描述
然后就有详细的问题解释了
在这里插入图片描述
说是什么在 元素上缺少 ‘package’ key 属性
解决办法:
就升级project的build.gradle中的gradle到3.5.4版本,
参考:Missing ‘package‘ key attribute on element package at [com.huawei.hms:dynamic-api:1.0.20.300] Androi

classpath 'com.android.tools.build:gradle:3.5.4'

问题六、android alipay支付宝集成,提升到targetcompileversion 30 ,并且android.support提升到androidx,没有唤起 H5 页面,并且调用alipay接口paytask.payV2报错4000,系统繁忙请稍后再试

在这里插入图片描述
在 com.alipay.sdk.app.H5PayActivity 和 com.alipay.sdk.app.H5AuthActivity 的 元素上的 ‘configChanges’ 属性存在冲突。

我就把以下注释了,然后h5页面就调出来了
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1234014.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用DHorse发布SpringBoot项目到K8S

前言 在介绍DHorse的操作之前&#xff0c;先来介绍一下使用k8s发布应用的步骤&#xff0c;以SpringBoot应用为例进行说明。 1.首先从代码仓库下载代码&#xff0c;比如GitLab&#xff1b; 2.接着进行构建&#xff0c;比如使用Maven&#xff1b; 3.如果要使用k8s作为编排&am…

SAP gui 登录条目不让修改

今天碰到用户安装的GUI 770 版本&#xff0c;不让修改&#xff0c;也不让添加 后面再选项里面找到了

时尚灵感 | 数说故事《2024春夏时装周研究报告》发布

过去两个月&#xff0c;2024春夏时装周如火如荼&#xff0c;我们不仅看到后疫情时代多个世界级时尚地标恢复活力&#xff0c;明星大咖云集&#xff0c;也在各大品牌秀场中感受到了艺术、摩登、自然、人文的精彩碰撞。 时装周是流行的风向标&#xff0c;每一季四大时装周的举办…

实在智能出席山东省数据科学大会,构建产学研教数智创新生态

11月18日至19日&#xff0c;由山东大学、山东省科学技术协会、山东省大数据局主办的首届“山东省数据科学大会暨泰山科技论坛”在山东大学&#xff08;中心校区&#xff09;隆重召开&#xff0c;以“数聚慧能 科创未来”为主题&#xff0c;来自全国各地的高校、科研机构、企事业…

“茶叶创新:爆改营销策略,三个月狂销2300万“

我的朋友去年制作了一款白茶&#xff0c;并在短短三个月内将其销售量推到了2300万的高峰。你相信吗&#xff1f; 这位朋友并没有任何茶叶方面的经验&#xff0c;他只是一个有着冒险精神的企业家。他先找到了一家代工厂&#xff0c;帮助他把他的茶叶理念转化为现实。 当他把茶叶…

SAP ABAP ALV “报错用户接口 XXXX的状态 XXXX丢失“

会导致功能栏无法使用 原因如下这两个名字需要对的上&#xff0c;否则就会报错

Postgresql常用命令函数

1、string_agg()函数 1.1用法: string_agg(expression, delimiter)&#xff0c;参数类型(text, text) or (bytea, bytea)&#xff0c;返回类型和参数类型一致,第一个参数是字段名&#xff0c;第二个参数是样式&#xff0c;比如&#xff0c;或者#分隔。 1.2实战: SELECT * FR…

配置文件自动提示

1、引入依赖<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-configuration-processor</artifactId> </dependency> 2、修改IDEA配置

为什么 ConcurrentHashMap 中 key 不允许为null

考察目标 这是一个基础问题&#xff0c;主要考察 1 到 3 年经验的开发人员 ConcurrentHashMap 在实际应用中使用频率较高 考察这个问题的目的&#xff0c;是了解求职者的基本功。 所以为了表现更好&#xff0c;可以从 ConcurrentHashMap 的设计角度去回答。 问题解析 打开…

基于C#实现协同推荐 SlopeOne 算法

一、概念 相信大家对如下的 Category 都很熟悉&#xff0c;很多网站都有类似如下的功能&#xff0c;“商品推荐”,"猜你喜欢“&#xff0c;在实体店中我们有导购来为我们服务&#xff0c;在网络上我们需要同样的一种替代物&#xff0c;如果简简单单的在数据库里面去捞&am…

CTF-栈溢出-基本ROP-【ret2syscall】

文章目录 ret2syscallBxMCTF 2023 Anti-Libcmainwrite_bufflush_obufreadintread_buf 思路exp ret2syscall 即控制程序执行系统调用&#xff0c;获取 shell。 BxMCTF 2023 Anti-Libc main write_buf 写入字符的&#xff0c;待会输出 flush_obuf 把字符输出到屏幕 read…

集群创建(flannel)时候,没有自动创建出cni0网卡

给旧的集群加入四台新的服务器启动时候发现都是正常的&#xff0c;但是pod通信报错 集群通信失败&#xff0c;第一时刻想看看是不是cni0和flannel.1的网段是不是通的&#xff0c;点进去一看发现cni0网卡没有生成。 部署是通过kubeadm方式部署的集群&#xff0c;目前有两种解决…

mysql8 group by出错:this is incompatible with sql_mode=only_full_group_by

第一步&#xff1a;先检查自己windows电脑上有没有my.ini文件&#xff0c;没有则创建一个my.ini 第二步&#xff1a;将下面内容复制进入my.ini保存&#xff0c;重启Mysql即可 [mysqld] sql_modeSTRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,…

请求的接口响应状态为已取消的原因

有趣的iframe问题 今天遇到一个问题&#xff0c;当点击了按钮----跳转页面时----F12键点击网络中的状态报了已取消&#xff0c;类型是 document说明是前端页面的问题&#xff0c;如果是xhr那可能是接口的问题。 原本是写了3个iframe,页面刷新的时候请求了第一个iframe,然后就…

android生成jks文件

jks文件用来校验微信支付 生成的方法&#xff1a;

论文《A recurrent latent variable model for sequential data》笔记:详解VRNN

A recurrent latent variable model for sequential data 背景 1 通过循环神经网络的序列建模 循环神经网络&#xff08;RNN&#xff09;可以接收一个可变长度的序列 x ( x 1 , x 2 , . . . , x T ) x (x_1, x_2, ..., x_T) x(x1​,x2​,...,xT​)作为输入&#xff0c;并通…

install安装路径设定

因为安装路径的前缀 CMAKE_INSTALL_PREFIX 都在外面都写了。 所以在具体的dll 在安装时&#xff0c;就写相对路径就行了。

基于51单片机交通灯仿真_紧急开关+黄灯倒计时+可调时间(proteus+代码+报告+讲解视频)

基于51单片机交通灯_紧急开关黄灯倒计时可调时间 ☑️开题报告☑️仿真图&#xff08;提供源文件&#xff09;&#xff1a;☑️系统硬件设计☑️主控制器选择☑️系统硬件结构图☑️时钟及复位电路☑️指示灯及倒计时模块 ☑️倒计时模块&#xff1a;☑️程序☑️软件主流程框架…

PPT画饼不能信,那现场连数据生成BI报表呢?

PPT说的天花乱坠&#xff0c;不如真正地看到、体验到BI报表效果&#xff0c;眼见为实&#xff01;奥威BI大数据分析工具推出的这套BI方案就将真实的BI报表效果搬到了BI选型会议上了&#xff0c;可以让业务人亲自上手体验三步完成BI报表分析的过程。 只需三步&#xff0c;立即生…

对比学习15篇顶会论文及代码合集,2023最新

对比学习&#xff08;contrastive learning&#xff09;是现在无监督学习中一种常用的学习机制&#xff0c;它可以在没有标签的数据上进行学习&#xff0c;避免依赖大量标签数据&#xff0c;从而帮助我们更好地理解和利用数据集中的信息&#xff0c;提高模型的性能和表现。 作…