
Android-遇到的坑
Eric_HYD
放松、屈膝、顶肘、压腕、8分力度自信的将球投出 Yes !
展开
-
Android 折叠屏问题解决 - 展开或收起页面重建
Android 折叠屏展开或收起后页面会重建,并重新走 onCreate onStart onResume ...重新创建后页面的状态也会丢失,比如页面中是一个 RecyclerView,我们滑动到了第 5 个卡片的位置,展开后又自动滑动到了第 1 个卡片的位置,这样对用户来说是不友好的。原创 2024-12-19 11:17:42 · 473 阅读 · 0 评论 -
解决:Glide 在回调中再次加载图片报错
Glide 加载图片时监听了回调,并在失败时再次加载其它图片后报错。原创 2024-02-20 20:56:08 · 1063 阅读 · 0 评论 -
解决:Android 报错 Failed to transform exifinterface-1.2.0.jar
Android 报错 Failed to transform exifinterface-1.2.0.jar原创 2023-12-19 16:30:42 · 1301 阅读 · 0 评论 -
解决:Android TextView 设置斜体后右侧文字被遮挡
遇到一个比较奇怪的情况,给 TextView 文字设置倾斜后,右侧的文字会被遮挡,感觉这应该是 Android 的一个 bug!上效果图:可以明显地看到最右侧的文字被遮挡了。原创 2023-11-16 15:06:17 · 1430 阅读 · 0 评论 -
解决:记录一次解决排查持久化存储的问题
我们的 App 用 MMKV 持久化存储了 int 型的 key。在 App 启动时会去读取这个 key,但我却找不到存储它的地方。原创 2023-07-07 17:45:36 · 416 阅读 · 0 评论 -
解决:No toolchains found in the NDK toolchains folder for ABI with prefix: arm-linux-androideabi
Android 编译时报错以下信息:大概意思是 NDK 工具链中缺少 CPU 架构支持:arm-linux-androideabi。看了一下我的 NDK 版本是 25.2.9519653,内部确认没有 arm-linux-androideabi 架构的支持。原创 2023-04-23 11:43:09 · 5571 阅读 · 1 评论 -
解决:Could not find method ndkVersion() for arguments
解决:Could not find method ndkVersion() for arguments原创 2023-03-24 16:20:09 · 1760 阅读 · 0 评论 -
解决:com/android/tools/idea/gradle/run/OutputBuildAction has been compiled by a more recent version
com/android/tools/idea/gradle/run/OutputBuildAction has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0原创 2023-03-21 16:13:09 · 813 阅读 · 0 评论 -
Android 兼容性问题 - 根据字符计算宽度导致 TextView 显示异常
有一些场景,需要根据内容的长短动态设置 TextView 的尺寸。但是在 VIVO Y33S Android 12 机型上发现设置完尺寸直接多出了一些省略号。原创 2023-03-16 16:23:54 · 603 阅读 · 0 评论 -
解决:代码中动态获取尺寸与 AndroidAutoSize 设置的尺寸不一样
AndroidAutoSize 是字节出品的一套自动屏幕适配方案,我们在开发过程中可以很容易的去适配各种屏幕。但应用这套开源库后也存在一个问题:我在 xml 中给 view1 设定尺寸为 200dp,又在代码中动态给view2 设置尺寸为 200dp,但是实际的效果却是不一样长。原创 2022-12-15 22:57:37 · 1080 阅读 · 4 评论 -
解决:小米手机设置全屏后屏幕上方有黑条问题
解决小米手机全屏后,屏幕上方存在黑条问题。原创 2022-11-27 16:21:16 · 2995 阅读 · 2 评论 -
解决:java.lang.IllegalArgumentException: Unable to create call adapter for class java.lang.Object
Retrofit 请求网络时报错:java.lang.IllegalArgumentException: Unable to create call adapter for class java.lang.Object说没有添加 CallAdapter。原创 2022-08-26 17:34:38 · 3392 阅读 · 1 评论 -
解决:ARouter 报错 There is no route matched
解决:ARouter 报错 There is no route matched原创 2022-08-26 16:34:56 · 837 阅读 · 0 评论 -
解决:接入 DoKit 时报错:java.lang.NoSuchMethodError: No static method getAppSignatureMD5()
接入 DoKit 时报错:java.lang.NoSuchMethodError: No static method getAppSignatureMD5()原创 2022-08-23 16:24:57 · 404 阅读 · 0 评论 -
解决:Android debug 系统源码时行号对应不上
一、问题说明我们在开发过程中经常需要去查看系统的源码,可能大多时候只需要阅读一下就行,有时候为了更好的理解,我们需要去 debug 一下,但是会出现 debug 的行号和运行的代码不一致的情况。二、问题原因这是因为很多手机厂商重新定制了系统源码,你电脑上指定版本 SDK 的源码和你自己手机上的并不完全一致。三、解决方案用 Android Studio 的 Device Manager 下载一个同你的 compileSdk 和 targetSdk 版本一致的谷歌虚拟机,将应用运行上去再次原创 2022-05-20 16:06:45 · 1442 阅读 · 1 评论 -
解决:RecyclerView 瀑布流偶现间距太大
一、问题说明正常应该是这样的但有时候打开会变成这样:对比正常图和异常图,明显页面边距和 item 边距都要大不少。比较奇怪的是直接点击上面的 tab 定位到该 fragment 会出问题,如果左右滑动 ViewPager 到该 fragment 就没事。二、解决方案经过一顿排查,终于发现是某些时机下重复设定 ItemDecoration 导致间距直接 double 了。// addItemDecoration 前加上这句判断if (recyclerView.i原创 2022-05-16 13:49:33 · 831 阅读 · 0 评论 -
解决:Android Lambda 造成内存泄露
一、问题说明class MyActivity : Activity() { override fun onWindowFocusChanged(hasFocus: Boolean) { super.onWindowFocusChanged(hasFocus) if (hasFocus) { // startCheckClipboard 中存在耗时操作 CommandManager.startCheckClipboard { showCo原创 2022-03-15 09:50:27 · 3628 阅读 · 2 评论 -
解决:AppBarLayout 出现黑边问题
解决 AppBarLayout 出现黑边问题。原创 2021-12-22 15:23:47 · 2046 阅读 · 0 评论 -
解决:Paging3 PagingDataAdapter 删除 item
一、问题说明Paging 3 可以很方便的管理数据分页。我们项目中有一个特殊需求:删除指定的 item。但是发现 adapter 并未提供相应的支持。二、解决方案adapter.snapshot().toMutableList().removeAt(position)adapter.notifyItemRemoved(position)搞定!...原创 2021-10-29 19:00:11 · 3773 阅读 · 4 评论 -
解决:CoordinatorLayout 嵌套 RecyclerView 再嵌套 RecyclerView 悬浮联动失效
一、问题说明CoordinatorLayout 嵌套 RecyclerView 滑动联动没问题,但是在 RecylerView 中再嵌套一层 RecyclerView 就会出现不联动的问题。二、问题解决给最内层的 RecyclerView 设置属性:nestedScrollingEnabled <androidx.recyclerview.widget.RecyclerView android:layout_width="match_parent" .原创 2021-09-18 16:32:05 · 848 阅读 · 0 评论 -
解决:Type com.alibaba.android.arouter.routes.ARouter$$Group$$home is defined multiple times
一、问题场景项目中有用到阿里的 ARouter 组件,定义路由的时候添加了一个 scheme://home/categories,结果一直报该错误:Type com.alibaba.android.arouter.routes.ARouter$$Group$$home is defined multiple times项目中之前也有用到过scheme://home/mine 这样的路由是没有问题的。比较奇怪的是为什么这个就会有问题呢?二、问题解决换成scheme://home2/..原创 2021-08-04 11:43:21 · 7265 阅读 · 0 评论 -
解决:Failure [INSTALL_FAILED_TEST_ONLY]
一、问题场景我用 Android Studio 在 VIVO Y85A 手机上调试应用时,一直提示安装失败:failed to install build/outputs/apk/debug/debug.apk: Failure [INSTALL_FAILED_TEST_ONLY]二、解决方案在 gradle.properties 中添加:android.injected.testOnly=false搞定!...原创 2021-07-28 13:54:35 · 352 阅读 · 0 评论 -
解决:RecyclerView 滑动后布局错乱
一、问题说明我的需求是要做一个类似这样的列表,整体是一个 RecyclerView,每个 item 内部会有一个流式布局,在流式布局内部会动态添加 TextView,TextView 的大小是自适应的。滑动后会出现以下布局错乱问题:由图可以看出,TextView 的背景丢了样式。二、问题解决分析应该是布局复用导致的布局错乱,由于我的列表数据不是很多,占用内存也不是很大,就先直接禁用掉 RecyclerView 的复用,禁用掉后再次滑动就不会存在错乱的问题了。我在网上搜索了禁用原创 2021-07-26 15:07:09 · 3738 阅读 · 0 评论 -
解决:底部 Dialog 不展示入场动画
一、问题说明遇到一个很奇怪的问题,dialog 入场动画一直展示不出来,但是出场动画可以正常呈献。我尝试了修改动画相关代码,也尝试调整 dialog 中的主题,但一直不行。经过长时间排查和对比,终于找到解决方案。二、问题解决解决方案:只需要给 dialog 的宽度减少 2 个 px 即可解决。三、问题分析如果你的视图部分的宽度本身不是占满全屏的,不会存在不展示入场动画的问题,但如果宽度是占满全屏的话就会不展示入场动画。靠,了解后真是想骂街!!!Android 为什么要这样原创 2021-07-23 15:00:20 · 1579 阅读 · 2 评论 -
解决:Android 在 onMeasure 中获取不到 View 的尺寸
一、问题说明遇到这样一个需求:图片的宽度为接近屏幕的宽度,图片的高度要保持设计图的宽高比。看起来很简单的一个需求是吧!我的方案是:我尝试在 onMeasure 中获取 ImageView 的宽度,然后根据宽度和比率计算好 View 的高度,设置上去。问题:页面打开时 ImageView 的 visibility 为 visible 的话不会有问题;但如果为 gone 的话,即使你设置了 visible,在 onMeasure 中获取到尺寸也是 0。二、解决方案i原创 2021-07-23 10:59:35 · 709 阅读 · 1 评论 -
解决:RecyclerView 瀑布流问题总结(换位置、顶部空白、闪烁)
一、说明最近在开发中第一次使用到了 RecyclerView 的瀑布流,过程中遇到一些问题,也花费了不少时间去调研解决方案,在此总结一下。二、问题问题 1:滑动时 item 变换位置开发完瀑布流基本功能后,发现长得还挺好看,但是上下滑动几次就会发现 item 的位置经常来回切换。解决方案:val lm = StaggeredGridLayoutManager(columnNum, RecyclerView.VERTICAL)lm.gapStrategy = StaggeredGr原创 2021-03-29 17:51:17 · 3995 阅读 · 3 评论 -
记录 Charles map local 的一个问题
一、问题说明用 Charles map local 后一直不生效,而且一直报错。按着网上的教程一遍遍尝试后依然不行。二、解决方案你需要用手机再请求一次才行,我之前改完 map local 以后总是习惯性通过 repeat 去测试,结果每次都不成功。So,切记:map local 只能用测试机发送请求,不能用 Charles 自带的 repeat 去测试。...原创 2020-12-31 17:49:38 · 1619 阅读 · 0 评论 -
解决:Android Studio 提示 Failed to initialize editor
一、问题说明xml 文件提示Failed to initialize editor,无法看到实时布局的效果。尝试了重启 AS,clean rebuild 等办法都不行。二、解决方案关闭 AS 将项目下的 .idea 文件夹删除 重新打开 AS搞定 !...原创 2020-12-14 14:09:12 · 15003 阅读 · 7 评论 -
解决:Android 修改 application_id 后再修改回来后无法打包运行
一、问题说明公司项目开发中为了去测试一个东西,需要将应用 applicationId 修改掉。具体为将com.sample.package1 修改为com.sample.package2。为了做到风险隔离,我直接新开了一个 test 分支,接着将build.gradle 中的 applicationId 修改掉,测试可以正常打包运行,但是切回原分支后却死活运行不起来,还报以下错误:Error while executing: am start -n "com.sample.packa...原创 2020-12-05 15:23:11 · 1643 阅读 · 0 评论 -
解决:Android选择照片后列表自动滑到顶部
一、说明页面大体情况如下:外层是一个可滑动的列表 ScrollView,列表顶部有十几个 EditText 用来输入文本信息。文本输入框下面接着是多个 ImageView,点击后跳转拍照或相册,获取照片后将照片显示到 ImageView 上面。问题:获取到照片、回到该页面、将照片设置到 ImageView 上面后,页面会自动滑动到顶部。二、解决方案经过调试发现,页面如果没有焦点就不会滑...原创 2019-08-28 15:43:24 · 620 阅读 · 0 评论 -
解决:install error: Failure [INSTALL_FAILED_USER_RESTRICTED] Error launching application on MI NOTE
一、问题描述Android Studio 连接小米手机编译打包时提示以下错误:Package install error: Failure [INSTALL_FAILED_USER_RESTRICTED]Error launching application on MI NOTE LTE.二、解决方案按以下步骤一步步进入设置系统设置 更多设置 开发者选项 USB安装(允...原创 2019-06-10 14:44:58 · 3796 阅读 · 0 评论 -
Error parsing XML: not well-formed (invalid token) 解决
1、问题描述提示说我的一个xml布局文件中存在格式问题。2、问题解决通过一步步排查发现是我的layout文件中存在了特殊的字符,导致Android无法编译通过:“原创 2019-02-27 15:26:45 · 7532 阅读 · 0 评论 -
Android TextView 动态修改scaleY属性后显示异常解决
1、问题场景页面中有一个TextView,上面显示若干文字,我会动态设置文字的scaleY属性,大致的显示状态如下:平常状态显示:scaleY设置为2后状态显示:从上面的图中可以明显的看到问题所在,当设置scaleY为2后会将其它View给覆盖掉。2、问题解决1、你即使设置TextView的高度为wrap_content,在修改scaleY属性后依然不会动态改变Vi...原创 2019-02-18 17:26:38 · 1781 阅读 · 0 评论 -
小米手机toast时默认在文案前面加应用名,3行代码轻松解决
一、问题描述在项目开发中,突然测试说在小米MAX2上看到所有toast前面都会加上应用名,我测试其它品牌所有测试机都没有该问题,后来经过调研发现是因为MIUI9后的一个版本中出现了问题,看小米官方论坛中也有很多人吐槽该问题,感觉是小米不小心搞出的一个Bug,貌似后期的MIUI版本中已经修复了该问题。但目前的显示也是很难看的,搞一下吧。。。二、解决方案Toast toast = Toa...原创 2019-02-14 16:12:29 · 1035 阅读 · 0 评论 -
Android 获取圆角图标bitmap黑色背景问题解决
一、问题场景在做社会化分享到微博时要展示应用图标,一般获取图标作为bitmap的方法如下:Bitmap bitmap = BitmapFactory.decodeResource(context.getResources(), R.mipmap.ic_launcher);我用该代码分享出去一个圆角的图标,但是圆角部分展示为黑色,并且无法去除。二、解决步骤private Bi...原创 2019-02-14 10:22:27 · 2773 阅读 · 0 评论 -
More than one file was found with OS independent path 'lib/armeabi-v7a/libnms.so'
解决方案:在app下的build.gradle中加入以下代码:android { ... // Fix: More than one file was found packagingOptions { pickFirst 'lib/armeabi-v7a/libnms.so' }}搞定 !...原创 2019-01-29 10:47:15 · 10411 阅读 · 4 评论 -
Could not find aapt2-proto.jar (com.android.tools.build:aapt2-proto:0.3.1).
解决方案:在Project级的build.gradle中将google仓库换到第1位:buildscript { repositories { google() jcenter() }}allprojects { repositories { google() jcenter() }}...原创 2019-01-28 17:42:29 · 1339 阅读 · 2 评论 -
More than one file was found with OS independent path 'lib/arm64-v8a/libpl_droidsonroids_gif.so' 解决
一、说明出现该问题的意思就是说存在重复资源,需要你去除重复。二、解决方法1、方法1在网上搜索此类问题的解决办法,大多是通过在App Module的build.gradle中加入以下方式:android { ... // 解决资源重复问题 packagingOptions { exclude 'lib/mips/libpl_droid...原创 2018-12-31 08:08:30 · 10356 阅读 · 0 评论 -
CircleImageView 使用报错:java.lang.reflect.InvocationTargetException
一、问题说明XML布局中有引入一个第3方的为:de.hdodenhof.circleimageview.CircleImageView,这个库是用来将图片显示为圆形,用DataBindingUtil.inflate()方法引入布局时一直报InvocationTargetException,感觉非常莫名其妙,具体错误如下:android.view.InflateException: Bin...原创 2018-12-28 11:04:23 · 2178 阅读 · 0 评论 -
No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android 问题解决
一、问题描述在升级最新版本Android Studio3.2后出现该问题,导致项目无法编译运行。二、问题解决看错误信息主要是说在NDK目录中缺少mips64el-linux-android目录,要解决这个问题就是把缺少的文件补充上。到这个目录下载最新NDK文件:https://developer.android.google.cn/ndk/downloads/ 下载完后解压开来...原创 2018-12-14 19:09:52 · 282 阅读 · 0 评论