说说Android x包的那些事

【干货】Android系统定制基础篇:第六部分-Android扩展服务-AndroidX AndroidX 做为一个后台 Service 应用,开机自动运行,配合系统做一些定制化功能,并且对外提供 API。项目地址:https://github.com/aystshen/AndroidX。 阅读详情

前言

项目中引用了一个第三方图片选择库,之前使用一直没有问题,在最近查看后台崩溃记录的时候,

发现有一个异常出现的频率很高,最后查看详细信息,发现只有Android 10的版本才会出现此问

题,最后去github上查看issuse,发现这个问题已经修复了,于是我就尝试着升级第三方库的版

本,结果升级和本地项目冲突了,最后又仔细去看,发现是因为他们的最新版本已经迁移到

Android x包了,我要想继续使用他们的库,就只能迁移我本地的版本,迁移也还是很简单的,整

个过程只用了半个小时,但是处理问题却用了足足两天时间,下面我来说说遇到的问题:
一  国际化语言切换失败

升级之后发现在切换多语言的时候无效,代码也一直还是原来的,没有做过任何修改,但是设置了

新的语言之后呢却不生效,也就是这个问题困扰了我一天,绞尽脑汁代码一遍又一遍地读,却还是

没有发现问题所在,最后发现我有两个activity设置语言之后是生效的,仔细查看是因为这两个

activity是继承至 android.app.Activity,而我其他的页面却是继承至 AppCompatActivity,于是就新

建了一个项目,将设置语言的代码复制过去,发现设置了语言还是不生效,这就让我越来越摸不着

头脑了,同样的代码上一个版本还是生效的,突然发了一个新版就不起作用了?几乎都要放弃了,

此时我的脑海里也不断地浮现出一句话“我是否适合干Android呢?”,无奈在自己所在的一个

Android技术群里去资讯这个问题,结果根本就没人解答,就是一大堆人在闲聊,好好的技术群聊

的却是些和技术毫无关系的话题,好吧我放弃了!最后到了下班也还没有确定问题所在,以至于晚

上吃饭都食之无味,味同爵蜡,自己整个一晚上情绪都很低落,晚上睡在床上仔细想了一下今天的

整个过程,突然想到今天还做过一件事,那就是迁移了Android 包,心想是不是因为和这有关系

呢,是不是因为继承的activity是Android x包下面的呢,于是就抱着这一点希望在一整天的疲惫下

进入了梦乡,早上来的第一件事就开始打开项目查看继承的activity 确实是继承至Android x包下面

的AppCompatActivity,马上就觉得自己离真相不远了,于是修改继承包,重新导入

android.support下面的activity,重新编译运行之后,发现生效了,此时自己的心情真是难以平静,

如释重负,双手脱离键盘,捂在脸上,久久不能平复。但是心想自己的项目已经不能在回退到

android.support了怎么办呢,此时刚获得的喜悦瞬间跌落低谷,在时间的驱动下又开始想,于是又

想既然继承AppCompatActivity不管用,那么就继承其他的好了 直接继承至activity如何呢,试了一

下也可以,但是我的项目里面确是不能继承activity的啊 !因为里面有fragment,那又继续尝试,

那就继承FragmentActivity吧,抱着尝试的心态试了一下,结果还真行,于是赶快修改自己项目的

baseactivity继承至FragmentActivity,运行之后,果然有效,至此这个问题用了我一天的时间终于

解决了,但是我又迎来了新的烦恼,为什么自己那么菜呢,这么简单的一个问题为什么花费了这么

多时间了,为什么继承AppCompatActivity就不行,而继承FragmentActivity就可以呢,结果点进去

查看源码,发现两个activity使用的context引用是不一样的,继承关系也不一样, Android 7切换语

言是通过重新更新context而达到修改语言的目的,而恰好AppCompatActivity里面更新context的方

法已经被重写了,不能重新创建,于是就没法更新。导致设置语言无效,好了这个问题就到此结束

了。
二  广播注册接收失败

项目提了一个新的需求,需要监听用户按下home键以及多任务键,好嘛,我说这个简单分分钟给

你搞定,结果一通代码写下来之后发现不起作用,这就把人尴尬了,脸被打的啪啪的,试了很多方

法,百度发现我写的和网上的没什么区别,这就奇了怪了,于是把自己的代码删了,复制一份网上

的,发现还是不行,这下是没辙了,心想是不是手机版本太高,被厂家做了处理,于是找来了一个

三年钱的手机,Android 6.0的,发现也还是不行,最后发现我使用的是

LocalBroadcastManager.getInstance(mContext).registerReceiver,而这个包是Android x底下的,

此时心理已经在萌生对Android x的怀疑了,在新项目中继续监听,发现也不行,噢 忘记修改导包

了,于是修改到android.support包下面,发现可以,原来又是Android x的问题,这两天是怎么了

感觉自己和Android x杆上了,无奈我的项目已经导入了Android x没法继续使android.support包

了,于是就更换注册广播的形式,不用本地广播了,就用全局的注册了,

mContext.registerReceiver,发现是没有问题的。

还有几个问题,但是都不怎么常用,这里就不列举了。

最后 可能大家会说既然第三方有问题,那你为什么不自己写呢,我想说的是在小公司时间是不允

许你来造轮子,也不是人人都有那个能力造轮子。个人意见,说的不对 请轻点喷!!

好了也不多说了,这里主要就是就是想说我们在遇到问题的时候,急是在所难免的,但是急也是解

决不了的,自己把出现问题的情况在脑海里重新复盘一下,可能就会发现些蛛丝马迹,可能就是因

为没有这点蛛丝马迹导致自己和问题越走越远,希望这篇文章对大家有所启发,文章写的不好,大

多是废话,就当是自己记录自己的成长过程吧!

[Unity][Android][安卓]安卓模拟在streamingAssetsPath文件路径读取AssetBundle包 创建AssetBundle包 AssetBundle包存放在StreamingAssets文件夹内 打包好的AB放在Unity编辑器的StreamingAssets里面 注意,在安卓 上使用的AB包代码,必须 得是 ... BuildPipeline.BuildAssetBundles(dir, BuildAssetBundleOptions.None, //BuildTarget.StandaloneWindows64 BuildTarget... 阅读详情

相关推荐

android多渠道包(风味包)——安卓gradle

一、前言 经过前几篇 安卓gradle 文章的介绍,童鞋们应该对 安卓gradle 更加熟悉了。 1、defaultConfig——安卓gradle 2、buildTypes——安卓gradle 3、flavorDimensions和productFlavors——安卓gradle 这几篇文章中,我们或多或少的提到 “渠道包” 和 “风味包” ,今天我们就来分享下,如何机遇一套代码,编译出多个 “...

江澎涌的博客 2478

AndroidX是什么

AndroidX 是 Android 开发的一个重要组成部分,它是 Android Jetpack 的一部分。AndroidX 是 Android Support Library(支持库)的继承者,提供了更加模块化、更易于维护和测试的库。它包括一系列用于 Android 应用开发的库和工具,涵盖了 UI 设计、架构、数据绑定、网络通信等多个方面。

m0_57236802的博客 3247

Tauri 2.x 安卓开发实战:从环境配置到APK打包全流程解析

本文详细解析了Tauri 2.x框架下进行安卓应用开发的完整流程。从Rust、Node.js、Java及安卓SDK等开发环境配置入手,逐步指导项目创建、标识符修改与安卓工程初始化。重点介绍了使用`pnpm tauri android dev`命令进行高效开发调试,以及通过`pnpm tauri android build`命令构建并签名可发布APK的实战步骤,帮助开发者快速掌握这一跨平台开发技术。

cuda7parallel的博客 1016

总是听到有人说AndroidX,还有人不知道什么是AndroidX的吗?

了解了AndroidX是什么之后,现在你应该放轻松了吧?它其实并不是什么全新的东西,而是对Android Support Library的一次升级。因此,AndroidX上手起来也没有任何困难的地方,比如之前你经常使用的RecyclerView、ViewPager等等库,在AndroidX中都会有一个对应的版本,只要改一下包名就可以完全无缝使用,用法方面基本上都没有任何的变化。

m0_60575487的博客 3980

什么是AndroidX?

AndroidX是一个用于支持最新Android版本的开发库集合,它提供了模块化、向后兼容、新的功能组件和Jetpack组件等诸多优势。这些组件提供了更丰富的用户界面和更灵活的布局选项,可以让你更容易地构建出色的应用程序。向后兼容:AndroidX库提供了向后兼容的功能,确保你的应用程序可以在较旧的Android设备上运行,同时仍然能够利用最新的Android功能。模块化:AndroidX库是以模块化的方式组织的,这使得开发者可以根据自己的需求选择性地使用库中的功能,而不必一次性导入整个库。

2301_78484069的博客 1150

Android X 深入解析

Android X 是一个强大的软件库,为 Android 开发者提供了许多便利的工具和组件,帮助他们更高效地构建应用程序。通过适当配置 Gradle 并使用 Android X 提供的组件,开发者可以快速构建稳定、兼容性强的应用程序。Android X 是从 Android Support Library 演变而来的,它重新组织和重命名了现有库,并引入了一些新的功能。Android X 的目标是提供向后兼容性、提高性能,并保持与最新 Android 版本的同步。三、Android X 的用法。

ByteHackerX的博客 1340

【免费下载】 vivo x7 安卓7.1降5.1降级包及救砖包

vivo x7 安卓7.1降5.1降级包及救砖包 【下载地址】vivox7安卓7.1降5.1降级包及救砖包 本资源文件提供了vivo x7手机从安卓7.1降级到安卓5.1的降级包,以及用于救砖的救砖包。这些资源可以帮助用户解决系统升级后遇到的问题,或者在手机变砖时进行恢复 ...

gitblog_06505的博客 4713

RK3568平台开发系列讲解(安卓篇)android aar包

android aar包

内核笔记 1721

Android 升级Android X 所需要替换的包(二)

android.support.test.rule.ActivityTestRule androidx.test.rule.ActivityTestRule android.support.test.rule.DisableOnAndroidDebug androidx.test.rule.DisableOnAndroidDebug android.support.test.r...

qq_39836064的博客 4370

关于影响力最大化问题中贪心算法的一些理解

在影响力最大化问题中(Influence Maximization,以下简称IM),贪心算法是最早提出的一种解决方法,并且一直沿用至今。它基于IM问题所具有的单调性(Monotonicity)和子模性(Submodularity)使用一种Hill Climbing策略,不断使用Monte Carlo模拟来寻找在当前情况下的具有最大传播范围的节点,添加至种子集合,得到最终结果,算法伪代码如下所示: 这里算法1其实并没有使用MonteCarlo模拟,而只是使用了贪心的策略...

nianjuan1990的专栏 2852

13-单片机模块化程序: 单片机AT指令配置模块程序模板(非阻塞版)

资料源码:https://gitee.com/yang456/OpenProgrammingModuleForMCU.git 点击加入群聊【单片机,物联网,上位机】: 说明1:知识从未如此性感。 烂程序员关心的是代码,好程序员关心的是数据结构和它们之间的关系! 说明2:学的是思想,而非程序!此代码思路适用于所有的单片机。 说明3:学会以后,下面的代码可能会跟你一辈子! 说明4:这一系列文章是为大幅度裁剪本人博客文章!使博客文章更有条理。便于推其它教程! 拷贝这两个文件到自己的工程 ..

杨奉武的博客 1280

【Android】安卓5.x内存清理的实现

虽然谷歌不推荐内存清理,但是有时候我们却有这个需求。所以,还是想办法自己实现,想内存清理,就先要获取正在运行的进程,然后逐个将他们杀死。这里使用的方法是免root权限的方法。华为emui3.1(安卓版本:5.1.1)测试通过,可以终止音乐播放服务。 一。终止程序方法和权限 在安卓4.x的时候,我们可以使用ActivityManager.killBackgroundProcesses(Strin

luoyesiqiu的专栏 7179

2023年数学建模国赛三大赛题核心建模思路与实战代码全解

本文全面解析2023年数学建模国赛三大赛题的核心建模思路与实战代码,涵盖塔式太阳能光热发电系统优化、多波束测深系统动态规划及蔬菜商品化策略建模。通过Python代码示例和优化算法(如遗传算法、NSGA2)展示,帮助参赛者掌握数学建模的关键技术与实战技巧,提升竞赛成绩。

weixin_33713350的博客 333

Delphi D10.X 在安卓APP开发中使用Jar包的注意事项

写完上一篇博客《对于《关于使用Delphi XE10 进行android开发的一些总结》的补充》考虑了一下,应该把一些在开发安卓APP时使用到JAR包的注意事项也再讲一下。 请注意:这里是一些注意事项,或说“在开发过程中可能遇到的坑”,不是具体的怎么做JAR的调用开发。 需要准备的一些工具 工欲善其事必先利其器,以下这些工具对你开发会起到帮助作用的。当然,不用工具也是可以的,只要你愿意,什么事会做...

tanqth的专栏 4134

第3章: MMU Interval Notifier 区间通知器的核心原理⭐

摘要:区间级内存通知机制分析 本文分析了Linux内核中区间级内存通知机制(mmu_interval_notifier)的设计原理与实现。该机制针对传统全局通知(mmu_notifier)存在的性能开销大、无法精确控制等问题,通过引入区间树(Interval Tree)实现精确匹配,仅当内存变化与注册区间重叠时才触发回调。核心优势包括:1)O(log n + k)的高效查找性能;2)支持独立管理各内存区间;3)实现高并发处理不同区间的失效事件。

图形/计算GPU的驱动与虚拟化技术分享园地 2017

​非线性分析-增加位移量可能出现下面错误。虽然求解无法在所有时间点完成,但在某些点上仍能够求解部分结果。请参阅“帮助系统”中的故障排除,以了解更多信息详情。由于受约束,规划求解引擎无法收敛

基于收敛状态拆分载荷步‌:在已收敛的载荷步基础上,将未收敛的关键区域拆分为更细的子步,比如在载荷突变点前设置5~10个子步,逐步加载。替换冲突约束为弱约束‌:若存在约束冲突,将刚性约束替换为弱弹簧约束(刚度设为1e-6~1e-4),既限制刚体位移,又不影响结构的变形自由度,命令流:SPRING, NODE, K, 1e-6。部分区域约束完整,但存在未被约束的刚体自由度,或约束类型与大变形/接触逻辑冲突,比如某部件的位移约束在初始阶段有效,但大变形后约束位置脱离实际受力点,导致求解器在该阶段无法收敛。

qq_15963745的博客 144

vivo x7安卓7.1降5.1降级包,以及救砖包

一、安卓7.1 降级 安卓5.1 1. 1 降级包链接 官方链接(卡刷包):https://sysupwsdl.vivo.com.cn/upgrade/upload/UpdateFiles/PD1602_A_3.6.10_for7.1-wipe-update-full.zip 百度云链接(卡刷包):https://pan.baidu.com/s/1ZbdusOX0_id_0rQxvKPxQg 提取码:rl7e 1.2 降级步骤 下载后,拷贝到手机内置存储,在自带文件管理中点击此文件,提示是系统升级包文件,选

落叶秋风早的博客 2万+

OCR文字识别基础

ocr文字识别

m0_47405013的博客 1755

腾讯X5的两三事

对于腾讯浏览器服务(X5),有评价好,有评价差,很正常,其实我也不知道这个好不好。但是,实际中可能会用到,或者加个x5的服务很多事情就轻易的解决了。比如你的App中有webview,webview中有视频,原生内核并不能全屏,第一次看到不能全屏我是懵逼滴,然后查了蛮多资料滴。最后真的准备动手自己去写啦,然后就找到了腾讯X5,然后一系列滴。其中确实有一些难过的地方,一个是没有很好的理解开发文档和de

小王同学的博客 3612

开尔文四线法与电桥(uΩ电阻检测)

本文介绍了开尔文四线法与电桥在电阻测量中的应用,特别是针对uΩ级别电阻的精确检测。讨论了基本电桥电路的工作原理,强调了开尔文四线法的优势,它能消除导线和接触电阻的影响。文中还提到了测试设备的介绍,包括不同级别的电阻测试,并详细阐述了uΩ级别电阻测试的步骤和注意事项。此外,对比了惠斯通电桥与开尔文电桥,强调了它们在电阻测量中的作用和计算方法。

让你爱上电路设计 7859

第三方 API 调用 OpenClaw 出现 LLM request timed out 的解决方案

本文主要介绍了第三方 API 调用 OpenClaw 出现 LLM request timed out 的解决方案,希望能对使用OpenClaw的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案

weixin_43178406的博客 8万+

android安卓用Rime

在安卓通过小企鹅 fcitx-android 输入法用 RIME

iTom's blog 4049

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

MyTV-Android项目对安卓4.x系统兼容性的技术探讨

在智能电视和机顶盒领域,安卓4.x系统仍然占据着相当比例的市场份额,特别是许多老旧电视设备仍运行着安卓4.3或4.4版本。近期,MyTV-Android项目的用户社区中出现了关于支持安卓4.x系统的热烈讨论,这反映了实际用户需求与技术发展之间的矛盾。 ## 安卓4.x系统的现状 安卓4.x系统(特别是4.2-4.4版本)在智能电视领域有着广泛的应用基础。许多2015年前后生产的智能电视设备,如...

gitblog_07835的博客 580

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

安卓逆向这档事-52pojie

汉化:文本可能在代码中或xml文件中,可能的位置:Arsc、xml、dex文件。解压apk文件,从lib目录中提取so文件。frida-ps -U // 查看进程PID。使用MT管理器、NP管理器修改包名实现共存。一些加密方法,用于Xposed练习。确认报名和Activity名。使用 frida Hook。

xxx的博客 2792

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

note4x rom android p,红米Note4x安卓8.0刷机包

红米Note4x安卓8.0刷机包是第三方ROM团队Lineage OS推出的一款安卓8.0刷机包,红米Note4x的米粉们解锁Bootloader以后即可刷入新系统,想要快速拥有红米Note4x安卓8.0刷机包吗?欢迎前往西西下载体验!红米Note4x安卓8.0刷机包介绍:谷歌已经发布安卓8.0正式版,带来了画中画、新的emoji表情、新的通知和设置界面设计等系列新特性。目前,受支持的Pixel和...

weixin_29224589的博客 2736

cocos2d-x 4.0 学习之路(十八)将工程部署到安卓手机

在电脑端我们学习了这么多,但游戏不在手机上玩怎么可以呢。那我们今天就把之前做的忍者来袭小游戏,移植到安卓手机端,看看效果吧。 cocos2d-x作为跨平台的框架,当然移植起来也会很容易的。 想在安卓手机上跑,要在你的电脑端安装AndroidSDK和NDK,并且配置好环境变量。 1.安装Android SDK 为了安卓开发的方便还是建议直接安装Android Studio,点击下载,这里会自动为你安装Android SDK的。安装步骤也比较简单,不详述了。启动之后会出现下面的提示,选择“Do not impo

2888
上一篇: 加入语聊房失败:804 processGeneralRESTResponseError
下一篇: 通知栏通知不被清除通知所取消
JumpingError
博客等级 码龄10年 2粉丝 6原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值