自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

战歌起

岂曰无衣,与子同袍

  • 博客(99)
  • 资源 (16)
  • 收藏
  • 关注

原创 如何使用 Windows 电脑向 Android 设备安装 apk 应用

一、工具说明本工具基于 windows 平台,使用 Android adb 命令行工具实现多项功能。其中 adb 文件已隐藏且只读。二、使用前提Android 设备使用 usb 数据线连接 window 系统的电脑三、安装 Android 设备的驱动1. 判断 Windows 是否安装了驱动?答:有两种方法判断,如下:可通过查看设备管理器中是否识别出 Android 端口来判断驱动是否安装也可以通过【Android通用驱动程序 - ADBDriverInstaller.exe】中的状

2021-01-14 13:22:14 5836

原创 sdk打包脚本

【代码】sdk打包脚本。

2023-05-17 10:07:37 164

原创 Handler

1、在日常Android研发工作中,经常用到Handler,但对其原理不熟悉。

2023-05-05 10:53:39 449

原创 Android hook实例

hook的基本思路就是 拦截原调用逻辑,加入自己新增的逻辑,然后再执行原逻辑。技术实现方案通常是 反射 + 动态代理。

2023-04-19 16:06:45 774

原创 不连电脑保存日志到文件

【代码】不连电脑保存日志到文件。

2023-03-23 10:06:50 125

原创 gradle.properties 的常用配置

堆内存大小org.gradle.jvmargs=-Xmx5120m -XX:MaxPermSize=1280m -Dfile.encoding=UTF-8开启守护进程通过开启守护进程,下一次构建的时候,将会连接这个守护进程进行构建,而不是重新 fork 一个 gradle构建进程org.gradle.daemon=true按需加载org.gradle.configureondemand=true并行编译org.gradle.parallel=true开启 g..

2021-09-16 18:27:43 2700

原创 弱引用Handler

handler 导致内存泄漏问题很常见,因此需要让它弱引用 context。如下处理一下更好用消息处理回调接口public interface IMessageConsumer { //消费事件 void handleMessage(Message msg);}弱引用包装public class WeakHandler extends Handler { private final WeakReference<IMessageConsumer> co

2021-09-13 14:43:29 294

原创 Gradle解决依赖冲突

方法:强制统一版本号在项目级别 build.gradle文件中,强制修改依赖版本号例如:以下代码强制统一几个依赖库的版本 project.configurations.all { exclude group: 'com.google.guava', module: 'listenablefuture' resolutionStrategy.eachDependency { details -> if (details.requeste

2021-09-08 16:18:05 1076

原创 Gradle统一版本配置

增加 config.gradleext { //android开发版本配置 androidConfig = [ compileSdkVersion: 30, buildToolsVersion: "30.0.3", applicationId : "com.thorn.gradleconfig", minSdkVersion : 23, targetSdkVe

2021-09-08 15:22:19 718

原创 Android架构衍化

六大原则单一职责:类的职责应该单一开闭原则:对扩展开发,对修改关闭里氏替换:若要扩展类功能,应该继承类实现,而不是直接修改原有类依赖倒置:不同模块间通信,应该调用接口,而不是调用对象实体。程序要依赖于抽象接口,不要依赖于具体实现。接口隔离:与多个模块通信,应该接口最小化。客户端不应该依赖它不需要的接口。一个类对另一个类的依赖应该建立在最小的接口上。迪米特原则:一个类对于其他类知道的越少越好,就是说一个对象应当对其他对象有尽可能少的了解架构衍化发展:单文件 -》 MVC -》 MVP

2021-09-03 16:28:06 75

原创 代码规范之CheckStyle

代码规范之CheckStyle1. 下载checkStyle 插件PS:如果 studio 里面找不到这个插件,那就到 idea 官方插件网站上搜索下载,然后本地安装就行。2. 配置 checkStyle.xml 文件PS:我这里配置好后,重启 studio 之后就需要重新配置,不知道为什么不能记住…3. 使用插件扫描扫描范围可选:1. project 2. module 3. current file...

2021-08-02 11:22:47 137

原创 Gradle 下载失败的问题解决

Gradle 下载失败的问题解决错误提示如下:Could not install Gradle distribution from 'https://services.gradle.org/distributions/gradle-XXXX…解决第一步方法一:直接复制链接到浏览器下载 xxx.zip 文件方法二:浏览器打开 https://gradle.org/releases/ 并找到 xxx.zip 文件,下载第二步打开目录C:\Users\Administrator.gra

2021-08-02 11:11:13 3327

转载 Scrcpy 使用

Scrcpy 使用使用前提将 Adb 命令加入全局环境变量路径中应用切换ctrl + s返回键鼠标右键Home 键单击鼠标滚轮调整分辨率设置分辨率为 1024scrcpy --max-size 1024简化上面命令scrcpy -m 1024录制视频默认码率是 8M,码率越高,画质越好,同时延迟越大。scrcpy --bit-rate 2M简化:scrcpy -b 2M截图待补充录屏分为两种情况,一种是投屏状态下录屏:scrcpy --r

2021-03-17 09:01:47 5399

原创 个人观点

如何向别的程序员提问?网络提问:你写了什么代码(不要以为截图就行,你把代码保存为文本)?报了什么错?(不要以为截图就行,你把日志保存为文本)出现错误之后,你做了什么尝试性改正?有什么效果?(主要表现出你的思路,没有思路就说说你百度之后的答案,为啥没能解决呢)如何快速适应一家新公司?新公司意味着遇见,遇见新的环境,新的同事,新的技术,新的问题。公司日常:五险一金,工资条信息如何查看?费用报销、请假、调休 这些具体的流程怎么走,在哪里走?考勤制度如何?班车如何?就餐如何?

2021-03-15 17:48:04 166 2

原创 写简历的方式方法

写简历的方式方法准确的说:软件开发人员写简历的方式方法写明基本信息(包括姓名、联系方式、工作经验时长)写明教育经历(包括学校、专业、时间)写明求职岗位(你到底是面的啥岗位呢?不写清楚你让HR小姐姐去猜吗?)写明技术要点什么是技术要点?就是你觉得你做的开发工作里面必须的技术能力。比如做 Java 开发,你必须会面向对象编程吧,必须会常用的设计模式吧,必须会线程、线程池的使用吧等等;这些就是你的技术要点,会什么写什么写明工作经历一般来说写明从你毕业至今的工作经历就可以,

2021-03-15 17:46:46 77

原创 项目管理

项目中的点点滴滴项目目标:一定要有非常明确的项目目标,比如完成软件验收、出货xx台项目计划:组员的职责分配:负责的工作,组员的联系方式,组员进场出场的确定时间项目总体周期 = 立项+需求沟通+项目开发+测试+验收+硬件调配(若有的话)风险预估:项目中可能哪个环节会出问题,出问题谁来解决,会造成什么后果,如果严重需要提前上报项目执行将目标拆分成多个小目标,掌控这些小目标的进度就掌控了整个项目的进度项目资料备案doc项目背景,项目周期,项目风险,项目变更(若需求

2021-03-15 17:46:03 64

原创 使用反射替换原函数

实现思路定义两种自定义注解:本身注解,目标注解在执行当前方法前,判断目标类中是否有被目标注解标识的方法,若有,则替换当前方法执行,若无,则正常执行当前方法代码Main.javaclass Main { public static void main(String[] args) { try { test(); } catch (InstantiationException e) { e.printSt

2021-03-13 21:47:28 501

原创 Java强软弱虚

java 有哪几种对象引用方式?Java 中共有四种引用方式,分别是:强引用、软引用、弱引用、虚引用。我们一般记忆为强软弱虚这个词语。java 为什么要区分四种引用?程序运行的空间是有限的,我们希望内存空间占满时,能够清理一部分不重要的数据。四种引用方式对应着四种内存清理优先级,如此一来,便可节约较多的内存空间。四种引用分别有什么作用?强引用(默认)代码开发中最常见的引用方式,当对象被强引用时,GC 永远不能够回收它。软引用(SoftReference)当内存空间不足时,将会优先清理

2021-03-13 18:29:06 80

原创 单例模式

单例模式几种实现思路使用 synchronized 关键字锁住单例类对象利用java对静态变量,静态内部类只会初始化一次的原理利用枚举类只会初始化一次的原理利用线程安全的集合,比如ConcurrentHashMap单例实现第一种class Single { private Single single; public Single getInstance() { if (single == null) { synchronized

2021-03-12 18:15:35 68

原创 Windows cmd 命令

windows 脚本语言学习背景绝大多数开发者的开发环境都是基于 windows 平台,那么如果掌握了基于这个平台的脚本语言,就能够编写一些我们自己的批处理工具,这样能有效提高我们的工作效率。接下来的内容讲解一下 windows 脚本语言的大致使用。常用编码转换bat 文件默认使用 GBK 格式的编码,如果输入中文却不改变编码格式,那么打印出来的中文会乱码。因此,在打印中文前修改编码格式,例如:转换为 ANSI 编码:chcp 65001转换为 GBK(默认) 编码:chcp 936当然,你也

2021-01-30 20:34:16 173

原创 java 设计模式顺口溜

顺口溜正好 23 个字,对应 23 种 java 设计模式《观迭策》抽工建单原,适桥外装组;代享解模责,备状访命中。

2021-01-30 18:57:43 423 2

原创 常用工具类LogUtil

说明打印日志之前,通过 Thread.currentThread().stackTrace 方式获取栈信息,继而获取打印位置及打印行号。利用 studio 打印 (文件名:行号)格式会产生跳转的超链接这个特性,实现点击日志名跳转的功能。效果展示01-08 12:49:45.252 14800-14800/com.demo.logdemoI/MainActivity: (MainActivity.kt:26)【onClickEvent】test源代码LogUtil.ktimport and

2021-01-08 13:21:00 916

原创 Android Demo 基础模板

起因作为一个程序员,工作中经常需要写一些 demo 做测试,但是每次都要写布局和点击事件让人觉得厌烦。于是干脆直接写个基础类,想要什么直接动态添加到 View 中来。本来想利用 studio 模板语言 FreeMark 写一个模板的,但是 Android Studio 4.1 版本并不支持导入自定义模板,只能先把源代码放到博客上等用的时候直接复制了。目标动态添加点击按钮,并能够处理其点击事件动态添加输入框,并能够设置输入提示,限制输入长度动态添加结果输出板块,能够动态输出日志思路页面动态添

2020-12-24 15:19:07 516

原创 【工具类】BcdUtil 工具类

BCDUtil 源代码,如下所示:/** * 功能描述:这个类封装了进行BCD压缩编码的相关操作 * */public class BCDUtil { private static final Loger log = Loger.getLogger(BCDUtil.class); /** * 功能描述:检查其数据是否能进行BCD * * @param val * 待检查的数据 * @return 都在 0x00 ~ 0x0F, 0x30 ~ 0x39的范围中

2020-12-08 18:37:32 315

原创 【工具类】HexUtil 工具类

HexUtil 源代码 ,代码如下:/** * 十六进制处理工具类 * */public class HexUtil { /** * 功能描述:将16进制的字符串转换为字节数组,例如有16进制字符串"12345678"<br/> * 转换后的结果为:{18, 52 ,86 ,120 }; * * @param hex * 需要转换的16进制字符串 * @return 以字节数组返回转换后的结果 */ public static

2020-12-08 18:34:52 2220

原创 【工具类】TLV 数据转 MAP工具类

首先是 HexUtils ,代码如下:/** * 十六进制处理工具类 * */public class HexUtil { /** * 功能描述:将16进制的字符串转换为字节数组,例如有16进制字符串"12345678"<br/> * 转换后的结果为:{18, 52 ,86 ,120 }; * * @param hex * 需要转换的16进制字符串 * @return 以字节数组返回转换后的结果 */ public stati

2020-12-08 17:26:33 296

原创 【工具类】SM4和DES加密工具类

源代码如下:import javax.crypto.Cipher;import javax.crypto.SecretKey;import javax.crypto.spec.SecretKeySpec;public class SecurityUtils { private static final String ALGORITHM = "DES"; private static String ZERO16 = "0000000000000000"; /**

2020-12-04 15:54:35 1485

原创 计算pin方式解析(国密)

国密计算Pin已知工作密钥明文:481DD32AAFCFD7CD C9CE616BA1EA251A银行卡号:1234 5678 9012 3456 78密码:123456计算如下截取银行卡号,去掉卡号 最后一位标志位,从后往前数 12 位,不够12位补 0,得到:6789 0123 4567 ,前面补0 ,补到32位长度,结果为:00000000000000000000678901234567处理输入的pin首先,密码长度为6,补在前面,得到 06123456然后

2020-08-04 10:50:47 1057 1

翻译 POS 常见错误码

00 ——pos机交易成功 承兑或交易成功01 ——pos机交易失败,请联系发卡行,查发卡行或检查卡内余额02 ——同上03—— 商户未登记,无权使用银联pos机终端,联系银行卡服务中心处理04—— 没收卡,请联系收单行,操作员没收卡(这种情况为高风险卡片,有黑卡或仿卡的嫌疑)05 ——交易失败,请联系发卡行,发卡不予承兑,与发银行联系查询06 ——交易失败,请联系发卡行,发卡行故障,稍等重新刷卡07 ——没收卡,请联系收单行,特殊条件下没收卡,这种情况为高风险卡片,有黑卡或仿卡的嫌疑08

2020-05-12 15:46:25 3410

翻译 密钥机制简介

名词解释主密钥(Master Key,简称 LMK):用于加密工作密钥工作密钥(Working Key,简称 WK):也称为数据密钥,通常指 PIN 加密密钥、MAC计算的密钥和磁道数据加密密钥MAC 加密密钥(Terminal MAC Key,简称 MAK):属于工作密钥的一种,用于对 mac 数据进行加密PIN 加密密钥(Terminal PIN Key,简称 PIK):属于工作密钥的一种,用于对 密码 数据进行加密卡片磁道加密密钥(Terminal Data Key ,简称 TDK):属

2020-05-12 15:38:23 1879

翻译 8583 报文规范发展史

起因最开始时,金融系统只有IBM这些大的公司来提供设备,象各种主机与终端等。在各个计算机设备之间,需要交换数据。我们知道数据是通过网络来传送的,而在网络上传送的数据都是基于0或1这样的二进制数据,如果没有对数据进行编码,则这些数据没有人能够理解,属于没有用的数据。起初的X.25、SDLC以及现在流行的TCP/IP网络协议都提供底层的通讯编码协议,它们解决了最底层的通讯问题,能够将一串字符从一个地方传送到另一个地方。但是,仅仅传送字符串是没有太大意义的,怎样来解析字符串代表什么内容是非常重要的,否则传送一些

2020-05-12 11:48:24 211

原创 用手机直接播放电脑本地的视频文件

用手机直接播放电脑本地的视频文件1. 电脑具有开放共享 wifi 热点功能win10 可使用系统自带的共享热点功能其他用户使用 connectify 等热点共享软件2. 更改本地策略,让手机有权限访问电脑共享文件夹cmd 输入 gpedit.msc 进入本地计算机策略计算机配置 -> Window 设置 -> 安全设置-> 本地策略 -> 安全选项 -...

2020-03-05 13:35:59 3926 1

翻译 在 WAMP 环境下配置 PHP5.0

在 WAMP 环境下配置 PHP5.01. 修改配置文件 httpd.conf 和 httpd-vhosts.conf左键wamp图标 — Apche — httpd.conf搜索 documentRoot,修改默认代码中的两个路径如下 DocumentRoot "E:/PhpDemo" <Directory "E:/PhpDemo">在 <Dire...

2020-02-20 12:40:51 266

原创 以我之名,壮哉我大洛克萨斯!

2019-12-09 11:02:03 136

原创 Spring

为什么使用框架?软件系统日趋复杂冲拥堵搞,开发效率和质量提高软件设计人员要 专注于对领域的了解,使需求分析更充分易于上手,快速解决问题接口java 8 中,接口可以拥有方法体IOC 是什么?IOC : 控制反转,控制权的转移,应用程序本身不负责依赖对象的创建和维护,而是有外部容器负责创建和维护。DI(依赖注入)是其中一种实现方式目的: 创建对象并且组装对象之间的关系...

2019-09-23 15:53:15 109

原创 Java 注解

什么是注解?java 提供的一种源程序中元素关联任何信息和任何数据的途径和方法。注解是对方法或者属性指定的标签。根据作用时期可以分为 编译时注解java 中的常见注解jdk自带注解:@Override \ @Deprecated \ @Suppvisewarnings第三方框架注解:@Autowired \ @Service \ @repository注解的分类按照运行机制分:源...

2019-09-06 16:04:02 105

原创 常用依赖

//常规api 'com.android.support:support-v4:28.0.0'api 'com.android.support:appcompat-v7:28.0.0'api 'com.android.support:design:28.0.0'api 'com.android.support:recyclerview-v7:28.0.0'api 'com.android...

2019-08-21 17:25:03 132

原创 java 反射

Class 类介绍以下所有大写的 Class 都表示 java.lang.Class1.java 语言中,类是不是对象?谁的对象?这个对象到底如何表示呢?答:在面向对象的世界里,万事万物皆对象。除 java.lang.Class 这个类之外,其他类都是 java.lang.Class 类的实例对象。至于 java.lang.Class 这个类是谁的实例对象,我也不晓得…另外Ther...

2019-08-20 18:04:40 88

原创 配置项目初始化参数

配置步骤为项目取名,例如 Apple 作为项目的名称设置要初始化的参数的枚举类,方便存取设置类似建造者模式的增删的接口代码实例ConfigType.java 枚举类,枚举所有需要初始化的参数,大概包含三类。public enum ConfigType { /* 1. 原生开发必需的常见参数 * */ CONFIG_READY, ...

2018-08-16 15:39:06 1335

原创 Gradle 配置项目全局共享变量

配置全局共享变量的好处保持项目中所有的 module 引用的版本一致如果有更新或更换开发环境,便于统一更改配置步骤项目根目录下新建 common_config.gradle 文件在文件中写明整个项目所有 module 中需要的变量,比如 minSdkVersion 等等在每个 module 都声明一遍文件的引用,或者,在 project 的 build.gralde 中...

2018-08-15 21:00:50 2349

计算校验和小工具.zip

计算校验和的小工具,绿色免安装

2021-03-15

XMLFormater.zip

用于个格式化 xml 数据

2021-03-15

json格式化.zip

用于格式化 Json 数据;绿色免安装

2021-03-15

EMV TLV查询分析器.zip

EMV TLV查询分析器

2021-03-15

AndroidToolBox.rar

具体介绍可以看博客:https://blog.csdn.net/baidu_33221362/article/details/112604554

2021-01-30

【工具】POS工具集合Nuts

功能点如下: 1. 分为算法工具、EPos报文、JSON工具、网络工具、IC卡工具等模块 2. 可实现多种算法下,根据主密钥解析密文的功能 3. 支持 JSON格式化 4. 支持网络模拟调试 5. 支持 IC 卡模拟连接读卡

2020-05-12

【工具】EMV TLV数据分析器.zip

功能点如下: 1. 对 TLV 数据进行拆解 2. 多层级拆解,能够识别 Tag 、length、value 3.支持查找 EMV 标签 4. 支持一键清空数据

2020-05-12

【工具】8583解包工具.zip

功能点如下: 1. 对 8583 报文进行自动拆解 2. 对 Json 数据进行格式化 3. 可以记录解包日志 4. 可以 asc 和 byte 数据转换

2020-05-12

【工具】Android抓取日志.zip

双击 getlog.bat 即可将日志保存为当前目录下的一个 log.txt 文件,实时刷新。程序自带 adb,无需提前安装,方便客户抓取日志发给开发 人员。

2020-05-12

抓取 GIF 工具

1. 将一个 GIF 动图分解为多张图片 2. 当然也可以提取其中某一帧并保存

2018-07-11

Vedio 转 GIF 工具

1. 完全免费,不用担心使用期限问题 2. 附带一个相同类型工具类网站,敬请期待 3. 生成的 GIF 右上角有个非常小的水印

2018-07-06

三阶魔方文字教程

用最简单易懂地方式介绍了一种还原三阶魔方地方法。从易到难,由浅入深,带你玩转三阶魔方。文件为 md 格式的。

2018-07-03

完整版书籍 - 《App研发录—架构设计,Crash分析和竞品技术分析》

完整版书籍 - 《App研发录—架构设计,Crash分析和竞品技术分析》,仅用于自己学习参考

2018-04-10

idea中文教程

idea中文教程,英文说明文档翻译。简介明了,全面无暇。

2018-01-08

程序之路ppt

155号作品-程序之路-“大行(ASING)”演示器第五届锐普PPT大赛.pptx

2017-04-24

空空如也

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

TA关注的人

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