-
2021-12-22 09:35:57
一、 本质
so库的升级
二、so库升级
1、so库检查
1,首先设置: abiFilters “armeabi-v7a”,“arm64-v8a”,然后编译出对应apk文件
2,android studio菜单栏build —> Analyze Apk…—>选择刚编译出的apk文件
3,然后在apk的analyze界面下,点击lib展开,就能看到armeabi-v7a、arm64-v8a两个文件夹,点击展开即可查看分析哪些库没有64位版本
2、so库升级
如果so库比较老,且项目目录下(比如libs、jniLibs下)没有对应的arm64-v8a的so库,则需要在官网等途径找到32位对应版本的64位so库,但很多官网不支持历史版本的so库下载,现有三种解决方案(以极光推送核心so库1.2.7版本,libjcore127.so为例):
方案一:
1,首先设置 abiFilters ‘arm64-v8a’
2, implementation ‘cn.jiguang.sdk:jcore:1.2.7’ 然后sync
3,sync后,在build文件夹-arm64v8a下查找对应so库
4,找到so库后,复制到对应的libs、jniLibs/arm64-v8a/文件夹下方案二:
1,删掉本地so库
2, implementation ‘cn.jiguang.sdk:jcore:1.2.7’ 然后sync方案三:
1,根据官网流程,将sdk版本升级到最新
2,升级到最新版本,需要做项目代码兼容适配,因为最新版和老版sdk的方法、变量、接口等可能有变化三、实在找不到64位的so库怎么办?
如果是自己写的so库,编译出64位版本即可
如果是第三方so库,比如我在升级过程中,碰到一个图片压缩的so库,确实没找到64位版本,就直接将其废弃,找了一个新的图片压缩方案进行替换。四、关于abiFilters配置
armeabi-v7a版本对应32位cpu架构,arm64-v8a版本对应64位cpu架构;
abiFilters 'armeabi-v7a' //此配置编译出的apk只支持32位系统
abiFilters 'arm64-v8a' //此配置编译出的apk只支持64位系统
abiFilters "armeabi-v7a","arm64-v8a" //此配置编译出的apk支持32位和64位系统 //但apk的包体积会更大
如果工程配置为abiFilters “armeabi-v7a” ,“arm64-v8a”,64位cpu架构的手机就只会去找arm64-v8a版本的so库,但是如果打包的apk里有部分64位so库缺失,会导致app崩溃等问题
在大西洋海底,阿龙纳斯随尼摩船长去做了一次新奇旅行; 他们脚踩在沉没了的大陆——一大西洋洲的一座山峰上, 观赏一座火山的海底喷火口喷出硫磺火石的奇景。 眺望山脚下一座破坏了的城市—一整个沉没水底的庞贝城。 书中描述传说中的海底古城:亚特兰蒂斯。 ------《海底两万里》
更多相关内容 -
Android代码-车位宝 APP安卓
2019-08-06 05:16:33CheWeiBao 车位宝 APP安卓 -
Android安卓app 让程序开机自动运行APP.zip
2021-01-10 22:52:30Android安卓app 让程序开机自动运行APP.zip -
java android安卓APP源码 30款打包下载_源码下载
2021-06-23 16:51:32java android安卓APP源码 30款打包下载_源码下载 -
Android Studio实现安卓APP大作业百宝箱app源代码移动终端开发大作业.zip
2022-06-08 17:18:15Android Studio实现安卓APP大作业百宝箱app源代码移动终端开发大作业。Android Studio实现安卓APP大作业百宝箱app源代码移动终端开发大作业。Android Studio实现安卓APP大作业百宝箱app源代码移动终端开发大作业。... -
android安卓app开发之指纹识别的实现(附源代码).zip_appstore安卓版下载
2021-01-11 17:39:16android安卓app开发之指纹识别的实现(附源代码).zip -
APP下载落地页,自动识别安卓苹果
2020-05-13 00:40:00APP下载落地页,自动识别安卓苹果。 -
安卓APP为啥要64位运行?
2022-04-05 16:52:05为啥要求安卓APP为要64位位运行?关键词:为啥要求安卓APP要64位运行?
现在主流安卓手机都是arm64-v8a架构,所以将APP调整为64位APP,能达到更大性能。
64位处理器已被证实代表着更快的运行速度,更低延时的数据吞吐,以及更迅捷的用户响应(依托于出色的软件实现)
以下是两款APP,适配64位APP后的表现,及遇到的坑。爱奇艺App 适配64位
https://cloud.tencent.com/developer/news/677788
全民K歌 APP适配
https://cloud.tencent.com/developer/article/1786035
https://www.ithome.com/0/463/524.htm
https://aijishu.com/a/1060000000024026
Google Play,在2019年8月1日开始,上架的 App,除了提供 32 位的版本之外,还需要提供 64 位的版本。所有的APP都得包信64位。
总结:32位APP在arm64-v8a架构上运行,是以兼容方式运行,并不能达到最优化性能。
64位APP在arm64-v8a架构上运行,才是达到最优性能。 所以开发时,要将APP以64位运行。即arm64-v8a文件夹so都要齐全,这样默认以64位运行。如果arm64-v8a文件夹缺少些so,则默认以32位运行。
参考链接:
Android怎样判断APP是64位运行,还是32位运行?
https://blog.csdn.net/achirandliu/article/details/123967450
作者简介:https://shimo.im/docs/rp3OVwxle2fJn7Am/
上海徐汇
2022年4月3日 -
安卓Android APP Design UI界面库+用它作界面的APP项目源代码.zip
2021-01-09 11:03:39Android APP Design UI库+用它作界面的APP项目源代码.zip -
Android实现APP在线下载更新
2020-08-27 13:54:46主要为大家详细介绍了Android实现APP在线下载更新的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 -
android app安卓开发教程之27个小例子附源代码.zip
2021-01-12 17:23:55android app安卓开发教程之27个小例子附源代码.zip alertDialog animation audio broadcast Bundle 数据库 下载文件 draw expandableList http iconFile imageView Intent listView menu mouseover notification ... -
Android 个人记账程序安卓APP开发源代码
2020-09-29 05:00:03Android 个人记账程序源代码介绍:一个简单的个人记帐程序,基本上是对Sqlite的应用,比较合适初学者。值得一提的是这个程序还有一个启动闪屏。 -
Android手机64位APP兼容
2022-02-10 12:17:3464位性能更好 手机硬件升级,存储更大,应用包体积不敏感 应用市场的政策 Google Play声明 自 2019 年 8 月 1 日起,您在 Google Play 上发布的应用必须支持64 位 2021年 8 月 1 日, 无法搜索到32位,无法更新 升级...为什么
- 2022 armv9芯片新机出货,不兼容32位,出现卡顿闪退等问题
- 64位性能更好
- 手机硬件升级,存储更大,应用包体积不敏感
应用市场的政策
Google Play声明
自 2019 年 8 月 1 日起,您在 Google Play 上发布的应用必须支持64 位
2021年 8 月 1 日, 无法搜索到32位,无法更新 升级版本仍是32位的版本
小米/OPPO/vivo/应用宝/百度手机助手
为更好地提升APP性能体验,降低APP功耗影响,小米应用商店与OPPO应用商店、vivo应用商店共同推进国内安卓生态对64位架构的升级支持。
行业适配节奏如下:
- 2021年12月底:现有和新发布的应用/游戏,需上传包含64位包体的APK包(支持双包在架,和64位兼容32位的两个形式,不再接收仅支持32位的APK包)
- 2022年8月底:硬件支持64位的系统,将仅接收含64位版本的APK包
- 2023年底:硬件将仅支持64位APK,32位应用无法在终端上运行
华为
根据华为开发者联盟的消息,华为日前发布通知,要求开发者加快淘汰32位应用,具体分为两个阶段,详细如下:
1、自2022年2月1日起,在华为应用市场新上架/升级的应用及游戏,必须包含64位版,华为应用市场不再接收仅包含32位版的应用;
2、自2022年9月1日起,华为应用市场不再接收包含32位版的应用(即只能提交64位版)。
如何适配
module build.gradle 指定abi
统一包
ndk { abiFilters 'armeabi-v7a', 'arm64-v8a' }
多个包
//限定universalApk 包含apk ndk { abiFilters 'armeabi-v7a', 'x86' , 'arm64-v8a' } splits{ // Configures multiple APKs based on ABI. abi { // Enables building multiple APKs per ABI. def isReleaseBuild = false gradle.startParameter.taskNames.find { // Enable split for release builds in different build flavors // (assemblePaidRelease, assembleFreeRelease, etc.). if (it ==~ /:app:assemble.*Release/) { isReleaseBuild = true return true // break } return false // continue } enable isReleaseBuild // By default all ABIs are included, so use reset() and include to specify that we only // want APKs for x86, armeabi-v7a, and mips. reset() // Specifies a list of ABIs that Gradle should create APKs for. include "armeabi-v7a", "arm64-v8a" // Specifies that we want to also generate a universal APK that includes all ABIs. universalApk true } }
参考
-
基于Android的安卓新闻app源码 开发实例
2021-05-30 16:59:20基于Android的安卓新闻app源码 开发实例 Android小项目——新闻APP(源码),一个很简单的可以练手的Android Demo -
Android Studio实现饮食搭配app,安卓优秀课程设计
2021-08-11 20:50:26本次项目主要实现了一款实用的饮食搭配系统,有欢迎界面、引导界面和使用界面,其中引导界面只会在第一次使用app时候出现,符合用户使用习惯。使用界面有三个选项卡:食物搭配表、食物营养表、关于本软件。 - ... -
android日程管理安卓APP开发
2020-09-29 05:00:24android日程管理源码介绍:代码风格非常,思路清晰对于阅读者来说是一份好android源代码。 -
Android应用源码之安卓应用市场app商店源码-IT计算机-毕业设计.zip
2022-04-06 22:02:30Android应用源码开发Demo,主要用于毕业设计学习。 -
制作android安卓开机自启动的app.zip
2021-01-10 12:03:54制作android安卓开机启动的app.zip -
android安卓APP之13种Drawable位图片资源.zip_android客户端是什么
2021-01-10 13:51:10android安卓APP之13种Drawable位图片资源.zip -
Android怎样判断APP是64位运行,还是32位运行?
2022-04-05 12:29:15Android怎样判断APP是64位运行,还是32位运行?标签:安卓怎样判断APP是64位运行,还是32位运行?
有下面两个方法,都可判断。
方法一:
参考: https://blog.csdn.net/u010194271/article/details/115694727 (如何检测Android应用是32位还是64位)
命令: adb shell “ps |grep zygote”
adb shell “ps | grep 832” 列出所有32位运行的APP(832要改成你的zygote进程PID)adb shell “ps | grep zygote64” 查看zygote64进程PID
adb shell “ps | grep 831” 列出所有64位运行的APP(831要改成你的zygote64进程PID)
方法二:
重要:需要root权限
看/data/app/包名/lib/ 目录下文件夹名称, 如果是 arm64,即安装的是64位APP,以64位方式运行。 如果文件夹名称是arm,即安装的是32位APP,以32位方式运行64位
32位
提示:因为包名较长,输入前面几个字母后,按TAB键会自动输入包名整个名称。
作者简介:https://shimo.im/docs/rp3OVwxle2fJn7Am/
上海徐汇
2022年4月3日 -
大学 毕业设计 项目实训 android安卓游戏app 斗地主 源代码.zip
2021-01-18 14:16:36大学 毕业设计 项目实训 android安卓游戏app 斗地主 源代码.zip -
android安卓app制作个定时关机的APP.zip_android客户端是什么
2021-01-12 17:47:03android安卓app制作个定时关机的APP.zip 1.状态栏 通知 2.悬浮窗口 3.AsyncTask多线程 4.手机关机 -
Android安卓手机git客户端应用APP
2019-11-27 23:41:06一款能在Android安卓手机使用git客户端应用APP,支持创建本地仓库,支持自定义手机本地仓库目录,支持远程仓库克隆到手机储存,支持提交并推送到远程仓库。 -
android安卓app编译成release版本的方法.zip
2021-01-18 14:17:16android安卓app编译成release版本的方法.zip -
Android安卓应用市场app商店源码.zip
2021-12-22 22:57:25Android安卓应用市场app商店源码 -
Facebook Messenger UI Kit for Android 聊天app .sketch素材下载
2021-04-20 13:58:48Facebook Messenger UI Kit for Android 聊天app .sketch素材下载 -
通过Html网页调用本地安卓(android)app程序代码
2021-01-05 01:52:42一、通过html页面打开Android本地的app 1、首先在编写一个简单的html页面 代码如下:<... <head> <... charset=UTF-8″>... 打开app</a><br> ...2、在Android本地app的配置 代码如下:在A -
Android代码-旅游app的安卓端
2019-08-06 06:06:22此旅游app项目是本人的毕业设计,包括了后台和安卓端,之前没接触过安卓,然后为了毕业设计,边学边码,时不时的问了周围搞安卓的同学,终于吧这个可恶的安卓端做好了。 总体来说样子还过得去,不足的地方还是很多... -
安卓APP升级64位架构
2021-05-04 14:05:53最近收到了小米官方发送的安卓APP升级64位架构的通知,具体邮件如下: 尊敬的开发者: 您好! 为更好地提升APP性能体验,降低APP功耗影响,小米应用商店与OPPO应用商店、vivo应用商店共同推进国内安卓生态对64位... -
大学 毕业设计 项目实训 android安卓手机点菜app 源代码.zip
2021-01-16 20:41:36大学 毕业设计 项目实训 android安卓手机点菜app 源代码.zip