
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
最近升级了一下工具,结果打包的时候出问题了,类型转换异常(Class cannot be cast to java.lang.reflect.ParameterizedType)乍一看是混淆规则没写好,bean类转换出问题了,结果研究了一晚上才发现是AGP升级到8.x导致Retrofit的混淆问题。# 使用R8全模式,对未保留的类剥离通用签名。挂起函数被包装在使用类型参数的continuation

查了一大堆资料,终于发现是混淆出了问题,提示我某个jar包不存在修改前#jar包不被混淆-libraryjars libs/open_sdk_3.5.4.11_r3f56456_lite.jar.jar修改后#jar包不被混淆-libraryjars libs/open_sdk_lite.jar
转义符,string.xml中不能单独使用 ' 符号,必须添加转移符。%1$s$s代表期望一个字符串替换内容,%1代表参数顺序。// 输出: My name is Alice Smith.)%1$d$d代表期望一个整数替换内容。\n转行。\t空格。// 输出: Get 1 Coins)

部分手机可能设置了底部虚拟导航栏等,导致获取的屏幕高度需要再减去hideKeyBoardHeight得出来的高度才是正确高度,直接使用showKeyBoardHeight可能导致mBinding.clBottom和软键盘之间有底部虚拟导航栏的高度大小的空隙。mBinding.clBottom是底部控件,软键盘弹出时放在软键盘上方,软键盘隐藏时在最底部。// 获取当前布局的可见高度。// 获取屏幕的

用VideoView播放视频,没有在9.0以上的版本试过,可能有问题使用CursorAdapter和ListActivity的组合,获得本地视频文件,通过uri转String的方法抓到路径,public String getFileFromUri(Uri uri) {if (uri == null) {return null;}switch (uri.getScheme()) {case "con
属性来隐藏应用程序的任务条目,即在最近使用的应用程序列表中不显示应用程序的图标,需要配合android:launchMode="singleInstance",单独使用。如果应用退居后台的时候,正在活动的activity没有设置这两个属性,则不会隐藏应用程序。

基于scrollView做出来的回到顶部功能height = getResources().getDisplayMetrics().heightPixels;height是屏幕高度,scrollY 是scrollview的左上角距离原点在竖直方向上的距离btToTop是右下角的按钮,点击btToTop回到顶部,scrollView.scrollTo(0, 0)scrollVi...
WebView.setDataDirectorySuffix(processName)//为 WebView 设置一个特定的数据目录后缀,以便每个应用程序的 WebView 数据目录都是唯一的。android P之后,不可多进程使用同一个目录webView,需要为不同进程webView设置不同目录。在特殊机型或者刷机导致的系统webview被卸载或者文件缺失的情况下,--开启安全浏览功能-->

最近因为工作原因换了电脑,拷贝了项目,结果其他地方都是一路绿灯,唯独在热更新出毛病了基准包打包完了,使用buildTinkerPatchRelease生成补丁时,生成失败,报错can't the get signConfig for this build看上去这是在说签名有问题,那我就去看看签名吧打开as打包好的基准包,查看APK的根目录的“META-INF/CERT.SF”文件,如果有“X-An
Service在8.0之后需要做各种适配保活,还有通知栏的通知要处理,不想麻烦的朋友可以考虑使用WorkManager替换Service。// 返回 Result.success() 表示任务执行成功。








