自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(51)
  • 资源 (6)
  • 收藏
  • 关注

原创 Android 应用程序无响应定位ANR原因

头部第一步部分标明了应用进程、pid、uid、应用包名、版本号、ANR类型(触摸事件在5s内无响应)Waited 5001ms for KeyEvent(action=DOWN))。包名也正好是自己的应用包名,直接全局查找报名相关的代码。是电脑存储文件的路径,可以随便定义,这个没有影响。我的电脑是mac,如果是windows,可以将路径修改为E:\xxx\xxxx,同样可以随便定义。解压后,目录结构大致是这样。框起来的部分就是最近出发ANR的日志,当然如果应用进程一样,其他时间段的也可以看看。

2023-12-01 10:35:49 742

原创 Android RecyclerView底部被遮挡,底部留白

只需要在需要留白的空间下方添加一下属性即可。

2023-08-09 15:01:24 265

转载 Android用adb抓log

android 抓取log 的方法:unix-like 系统:win 系统:

2023-07-10 13:05:19 201

原创 android 查询不同机型通话记录信息

通过上面代码可以获取本地通话清单所有字段,文件存储路径为根目录下:fileOut.txt。比对发现,锤子手机确实没有。结果交给客户使用后,华为、vivo、OPPO、锤子都出现闪退现象。日志抓取后,发现部分机型无法获取simid。SimInfo获取卡槽信息,比对后,卡槽0对应卡槽1,自测后数据获取完整。通过不同机型录音文件的存储路径不同,猜测不同机型的simid命名不同。simid这个字段,而小米手机有。

2023-02-20 20:56:20 956

转载 svn: E155010: 丢失了预定增加的“XX“

svn: E155010: 丢失了预定增加的“/Users/mac/AndroidStudioProjects/VanCloud/app/src/main/assets/fonts。----------------------------------完结撒花----------------------------------因为app/src/main/assets/fonts已被删,所以提交报错,只需通过svn强制删除即可。错误信息便是这一行。

2023-01-11 15:26:47 840

原创 NestedScrollView嵌套LinearLayout不能滚动

最开始项目中使用viewpager嵌套布局,LinearLayout不能滚动。我以为事件分发viewpager将滑动时间消费。记录一个特别SB的问题。NestedScrollView嵌套LinearLayout不能滚动。通过禁止左右滑动和计算上下手势,LinearLayout依旧不能滚动。没错,就是这么智障。特此记录一下,以后再出现类似情况,直播割鸡!NestedScrollView写在根目录了。

2022-12-15 17:27:39 998

原创 android多次调用微信登录出现多个后台进程

出现问题的版本如下:搜索后的方法有两种,皆不能解决我的问题:方法一:更改Activty启动模式。四种启动模式尝试一遍,最终结果——无效!方法二:WXEntryActivity的onResp方法获取到code后,通过广播方式在发起页进行跳转。按照这个方式,我通过EventBus发送跳转通知,在授权的Activity拿到广播信息,进行跳转操作。经过多方收集测试,高版本手机依旧会出现多个后台进行的问题——无效。没有办法,只能回归源头,前往微信开发中心寻找答案。经过核对,除SDK版本不一致以外,其他都一样,抱着试一

2022-12-08 10:14:43 1350 4

原创 Android OKHTTP发起请求提示:SSLException: Unable to parse TLS packet header

今天切换环境进行调试,某一个接口突然出现报错:Unable to parse TLS packet header。看到SSLException,心里第一个想法:简单,肯定是HTTPS协议没有增加SSL校验。创建new OkHttpClient.Builder() .connectTimeout(50000, TimeUnit.MILLISECONDS) .readTimeout(50000, TimeUnit.MI

2022-12-06 13:53:00 7181 1

转载 Mac环境下反编译

将classes.dex文件复制到dex2jar-2.0或者dex2jar-2.1【这个是最细版本】,在终端中cd到dex2jar-2.1目录,执行sh d2j-dex2jar.sh classes.dex命令。MSG_NO_SUITABLE_JAVA_CHECK="请确保系统中安装了所需的Java版本"MSG_JAVA_VERSION_OR_LATER="及以上版本"MSG_JAVA_VERSION_LATEST="(最新版本)"MSG_JAVA_VERSION_MAX="最高为 %s"

2022-11-25 17:00:41 2419

原创 Android 时区字符串转本地时间

气冲冲去找后台,告诉对方不能返时区时间。明明我上传的时间并没有卸载时区,为什么返回来的时间却变成这个样子。今天接入后台接口,突然发现服务器返回时间:2022-11-11T12:02:07.000+00:00。后台回答:前段已经接入,不能修改。瞬间感觉一万头羊驼奔头来过。可以根据项目需求,更换不同的时间格式。好吧,只能我修改了。

2022-11-12 14:26:40 781

原创 android 实现挂断电话【四种方式】,亲测可用

第二种,通过耳机方式挂断,通过查看代码发现是jni回调java。代码已经集成完毕,使用方式跟第一种方式一样,调用answerRingingCall即可,但是此方法只对4.4以下有效。第三种:通过无障碍模式,模拟点击挂断电话。,监听广播,确定挂机按钮位置,再进行模拟点击挂断操作。第一种:通过反射得到隐藏的API,需要aidl文件,但是这种方式测试后,无效。第四种方式:抛异常,挂断电话,并关闭通话界面。此方式最简单,并且能实现项目需求。根据文档查询,这种方式只在2.3版本一下才有效。网上查到两种挂断电话方式。

2022-10-27 20:35:45 2232 3

原创 android 高版本无法正常启动,偶尔会报应用程序无响应(ANR)

Accessing hidden method Landroid/os/PowerManager$WakeLock;->setTag(Ljava/lang/String;)V (greylist-max-o, linking, allowed)

2022-10-21 18:02:23 888

原创 Android 设置锁屏时间,屏幕常亮效果

Android 设置锁屏时间,屏幕常亮效果

2022-10-17 14:02:51 1200

原创 Android resource linking failed ERROR:: AAPT: error: resource android:style/TextAppearance

Android resource linking failed ERROR:: AAPT: error: resource android:style/TextAp今天运行老项目,报错提示查询资料所有博客解决方法千篇一律。修改文件:但是我的android studio 为4.4.4, 不能低于29.那么自然不能降低版本。出现这个错误是因为编译 SDK 版本 与支持库不匹配。解决方法方法很简单。打开 File–> Project Structure,找到选项,修改如下:如果有多个modules,全部修改一下。

2022-06-03 11:51:26 752

原创 android studio报错无法启动

错误代码Internal Error. Please report to https://code.google.com/p/android/issuesjava.lang.RuntimeException: com.intellij.ide.plugins.PluginManager$StartupAbortedException: Fatal error initializing 'com.android.tools.idea.AndroidInitialConfigurator'at com.i

2022-06-02 23:00:42 1133 1

转载 MPAndroidChart3使用详解6:Legend(图例)

1 设置图例形状① 避免绘制图形legend.setForm(Legend.LegendForm.NONE);② 不绘制图形,但留空间legend.setForm(Legend.LegendForm.EMPTY);③ 绘制默认图形,默认为圆形legend.setForm(Legend.LegendForm.DEFAULT); ④ 绘制圆形legend.setForm(Legend.LegendForm.CIRCLE);⑤ 绘制正方形,不设置setForm方法则绘制该图形legend.se

2022-06-02 22:55:39 495

原创 Android 10/Android Q定位服务授权失败,ACCESS_BACKGROUND_LOCATION

今天遇到一个问题,华为部分机型定位失败,出现Manifest.permission.ACCESS_BACKGROUND_LOCATION此权限为定位服务权限,根据权限管理,加入以下代码public String[] checkMMPerms() { String[] perms; if (Build.VERSION.SDK_INT >= 23) { perms = new String[(Build.VERSION.SDK_IN

2022-03-09 16:27:46 7977

原创 android非Zxing扫码库

识别速度超快,基本上camera抓取到二维码就能识别到其内容(这是重点)。支持识别多个二维码,条形码。支持任意比例展示,可以1:2,1.5:2等,不会发生像拉伸变形。build.gradle引用implementation 'com.github.dynckathline:barcode:2.5'初始化和监听结果回调 //构造出扫描管理器 configViewFinderView(viewfinderView); mlKit = ne.

2021-10-28 16:22:38 386

转载 Android 使用Navigation重复创建fragment,引起EventBus多次响应

经过多次测试发现,当onDestroy方法未调用时,新页面重新注册EventBus,会引起多次响应。主页面采用Navigation管理fragment,并且自定义FragmentNavigator后,只有第一次打开主页面创建fragment,并没有重复创建fragment。获取tag为空,导致HomeFragment​​​​​​​被创建两次,这就很奇怪了。NavHostFragment did not create a view

2021-10-28 16:17:54 5883 7

原创 android 下载图片并刷新相册

public class HelpOpenFileUtils { /** * 读写权限 */ protected static final int WRITE_PERMISSION = 20003; protected static final String[] WRITEPERMISSION = { Manifest.permission.WRITE_EXTERNAL_STORAGE }; private stati.

2021-07-23 16:47:20 2614 1

原创 Android Q 9.0以上无法获取手机唯一标识码DeviceId

项目需求:公司项目有打卡功能,需要实现每个手机只能给一个用户打卡,这就需要用到手机唯一标识码。通常获取手机唯一标识码,我们都是默认使用DeviceId或者IMEI。 final TelephonyManager tm = (TelephonyManager) getBaseContext().getSystemService(Context.TELEPHONY_SERVICE); final String tmDevice, tmSerial, androidId; tmDevic

2021-01-04 09:57:10 3086

原创 android studio 查看错误终极解决办法 Manifest merger failed with multiple errors, see logs

Manifest merger failed with multiple errors, see logsgradlew compileDebug --stacktrace -info或者:gradlew compileDebug --stacktrace -debug或者gradlew compileDebugSources --stacktrace -infomacOS下使用gradlew命令需要再命令前加上./mac本授权:chmod +x gradlew...

2020-12-20 23:42:13 681

原创 Android动态申请权限后提示open failed: EACCES (Permission denied)

android6.0以上如何分配动态权限略过,网上例子很多。今天碰到一个问题,客户反馈app内自带的更新功能无法使用。我一听懒洋洋的回了句:权限申请了吗?对方答:申请了,并且还给出截图。“哎吆我去,ps的吧!于是我拿出自己的手机尝试,结果没问题,因为我的手机是9.0的。”“录屏我瞅瞅!”于是我崩溃了……原代码: String path = Environment.getExternalStorageDirectory() URL url = new URL(path );

2020-12-03 15:04:46 946 2

原创 android 分享到微信小程序到微信朋友,分享截图图片到微信。

功能需求:点击分享时,将小程序分享到微信,并截取当前屏幕作为主图。难点:微信微信小程序写的太垃圾了,标注不清晰。分享图片大小不能超过32K,需要压缩。 WXMiniProgramObject miniProgram = new WXMiniProgramObject(); miniProgram.webpageUrl="";// 兼容低版本的网页链接 miniProgram.userName="gh_12345678";//小程序ID

2020-11-19 13:37:50 634

转载 Android Studio出现Error while executing: am start 7种解决方案

Error while executing: am start -n "pagekageName/pagekageName.ac.WelcomeActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHERStarting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=pagekageName/..

2020-10-28 09:13:48 2829

转载 android studio 使用git提交代码,不能同步问题

1.提示有:fatal: Not a valid object name: 'master'.这是因为本地的‘master’分支还并未创建,需要在‘commit’后才会自动创建 。这时:git add . //将所有的文件加到暂存区git commit -m 'after commmit, the local master branch init' //将暂存区的文件提交到本地git仓库,并写明此次提交信息上面两条命令执行完后会在本地git仓库创建master分支。使用命令查看所有分支,其

2020-08-25 15:06:46 544

原创 使用SlideLayout时长按时间和侧滑时间冲突问题。

首先致敬一下公司的脑残UI。做什么效果图都是按照ios,从不考虑android。先说一下公司需求。列表界面有一个三个功能长按全选、侧滑删除、点击跳转。最开始功能只有侧滑删除,后来应用户要求,添加长按全选功能。于是问题来了,OnLongClick时没有问题,但是侧滑删除必定触发OnLongClick。虽然SlideLayout控件中有设置OnLongClick事件,但是我没有找到解决冲...

2020-03-30 16:24:11 182

原创 华为手机不能连接USB问题

今天出现一个大问题,小米手机能连接usb,但是华为手机不行。明明我已经打开开发者模式,开启usb调试。测试选择文件阅览都能打开华为手机sd卡。这说明数据线没有问题,手机usb接口也没有问题,但就android studio就是不能连接手机进行调试。原来华为手机USB端口设置分为三种:Google模式、生产模式、Hisuite模式。有时USB不能连接Android studio是因为...

2019-09-26 17:11:00 17780 9

转载 glide:4.8.0 的使用

准备:implementation 'com.github.bumptech.glide:glide:4.8.0'annotationProcessor 'com.github.bumptech.glide:compiler:4.8.0'Glide 4.0以后,就必须初始化Glide,生成GlidApp才能使用必须使用Generate API ,@GlideModule进行注解...

2019-08-30 14:16:26 1033

原创 Android SVN上传is scheduled for addition, but is missing

近期接受了一个老项目,Android Studio 开发版本是1.5,并且SDK使用版本都是22(一看之前的前辈就比较懒,不用做危险权限声明)。gradle 1.5升级到2.3.3过程我就不说了,各种报错,各种坑。当我把Sdk升级到28以后,加入相机的危险权限声明,引入了第三方library---EasyPhotos.当上传svn的时候出现了bug:Commit failed with err...

2019-03-15 10:16:14 934

原创 Android studio 克隆/clone git分支代码

今天就碰到一个问题接受新项目,新项目中有很多分支,git clone的时候默认是master。不能每一个分支都单独下载。git branch为查看所有本地分支。git branch -a 为查看所有分支,包含远程分支。因为我是新人未关联新的分支,并且没有tag。预支创建一个分支,然后clone当分支上,在本地项目的命令行下输入git clone -b 2.9.1 https://g...

2018-12-20 15:16:57 2237

原创 Android不同汉字字数对齐

在Android布局中进行使用到空格,以便实现文字的对齐。那么在Android中如何表示一个空格呢?空格:  窄空格:‒一个汉字宽度的空格:  ‒【用两个空格(  )占一个汉字的宽度时,两个空格比一个汉字略窄,三个空格(  &...

2018-08-20 16:57:09 3713 3

原创 android:alwaysRetainTaskState="true"无效

客户要求Home键退出app时再次打开时要重现界面,最开始想的每次打开activity就将activity放入集合中,操作难度很大也很麻烦。后来发现android:alwaysRetainTaskState这个属性。这个属性用来标记应用的task是否保持原来的状态,“true”表示总是保持,“false”表示不能够保证,默认为“false”。此属性只对task的根Activity起作用,其他的...

2018-07-30 11:13:03 4225

原创 android手机无USB法连接应用宝解决办法

网上的解决办法我都尝试了,关机重启都不行。卸载重新下载也不行,并且还是之前好好的,第二天就不行了,现在分享一下我的解决办法。1.关闭应用宝。2.打开任务管理器,终止掉AndroidServer.exe和tadb.exe,如果没有请忽略。3.直接在资源管理器里输入%appdata%\Tencent\AndroidServer\然后回车打开文件目录,以.log.xml结尾的都删除我觉的主要还是删除An...

2018-07-10 10:13:29 1067 1

转载 Gridview的stretchMode详解附自动宽度

stretchMode属性值的作用是设置GridView中的条目以什么缩放模式去填充剩余空间。参数stretchMode 可选值为:none,spacingWidth,columnWidth, spacingWidthUniform注意:spaceWidth和spacingWidthUniform是有差别的,下面通过一个例子说明一下,本人手机屏幕4.7英寸,分辨率为1280×720

2018-07-10 10:04:23 1012

转载 android 渐变色gradient的使用以及属性详解

<gradient android:angle="integer" android:centerX="integer" android:centerY="integer" android:centerColor="integer" android:endColor="color" android:gra

2018-01-24 10:05:33 3144

原创 textview旋转倾斜

<TextView android:id="@+id/cartypetext" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="right|end" android:layout_marginTop="12dp"

2018-01-10 10:44:24 200

原创 android使用命令行空包签名

jarsigner 错误: java.lang.RuntimeException: 密钥库加载: Invalid keystore format.android使用命令行空包签名

2017-12-05 14:48:07 873

原创 android和JS交互,相互调用方法传值。不使用第三方实现原生加载word、ppt、pdf文档

android和js交互,相互传值问题。不使用第三方实现原生加载word、ppt、pdf文档

2017-11-24 10:42:33 531

原创 android imageview显示不全或者gilde加载不全

Imageview显示图片无非一是加载本地图片,而是加载网络图片 一,加载本地图片 1.是否设置图片或者父布局大小导致无法完全显示 2.是否设置圆角 3.是否设置padding或者margin *4.使用android:scaleType时,要设置src,设置background不起做用.一般情况下如果是网络加载图片,默认的是src,所以在设置android

2017-10-21 11:23:05 10625

mac 已修改可正常运行的dex2jar-2.1,jd-gui-osx-1.6.6

官网dex2jar-2.1缺少.sh文件,压缩包已集成 官网jd-gui-osx-1.6.6配置信息确实,需要修改Contents/MacOS/universalJavaApplicationStub.sh 文件的内容,本地压缩已经修改完毕。不过启动GD-GUI需要jdk8

2023-07-08

最新版本反编译攻击集合,包含dex2jar-v2.1版本

最新版本反编译攻击集合,包含dex2jar-v2.1版本

2022-11-25

Android veridex 非SDK接口检测工具

Android veridex 非SDK接口检测工具

2022-10-21

android 分享微信小程序+压缩图片优化

实现分享微信小程序、图片到微信朋友圈、微信好友。解决因图片过大出现分享失败,内置图片压缩功能,内置截图功能。

2020-11-19

org.apache.http.legacy.zip

Android9行为变更,org.apache.http.legacy的jar包替代均已被废弃的org.apache.http包和AndroidHttpClient类。

2019-06-13

XCDGif.RAR

android多张图片转gif动态图,里面涉及到android7.0相机权限的处理,调用相机拍照后图片过大造成OOM的处理,还有几个封装的请求工具类

2017-06-29

TelePhone.zip

自定义拨号键盘,实现Editview的插入和删除以及阻止系统软键盘弹出,只能使用app自带键盘

2016-09-05

自定义TextView实现竖直跑马灯效果,特殊字符串改变颜色

自定义TextView实现竖直跑马灯效果,特殊字符串改变颜色

2016-08-04

andfix热修复demo apkapatch 工具

andfix热修复demo apkapatch 工具

2016-04-25

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除