中级Android开发应该了解的Binder原理

一.前言 Linux的进程空间是相互隔离的。 Linux将内存空间在逻辑上划分为内核空间与用户空间。Linux 操作系统和驱动程序运行在内核空间,应用程序运行在用户空间,为了保证内核安全,它们是隔离的。内核空间可以访问所有内存空间,而用户空间不能访问内核空间。 用户程序只能通过系统调用陷入内...

2019-03-14 15:52:35

阅读数 53

评论数 0

性能优化之Traceview和Systrace的使用

Traceview的两种使用方式: 1.打开Android Device Monitor,选择一个进程,然后按上面的“Start Method Profiling”按钮,等红色小点变成黑色以后就表示TraceView已经开始工作了,再次点击该按钮结束追踪,并会自动打开这段时间内生成的 .trac...

2019-03-01 17:58:04

阅读数 94

评论数 0

DRouter:简单易用的支持多进程架构的组件化方案

写在开头 组件化技术适用于需要多人协作的中大型项目,如果是一个人的项目且开发人员未实践过组件化方案则不建议采用。 组件化的优点 业务隔离,使得各业务模块专注于自己的业务实现,而不必关心其他业务模块. 单独调试,每个模块可以独立运行,方便开发调试. 组件可复用性,针对有重叠业务的不同A...

2019-01-21 18:38:56

阅读数 326

评论数 0

同学,你的系统Toast可能需要修复一下

欢迎star/issue,项目地址:https://github.com/Dovar66/DToast 先看看使用系统Toast存在的问题: 1.当通知权限被关闭时在华为等手机上Toast不显示; 2.Toast的队列机制在不同手机上可能会不相同; 3.Toast的BadToken...

2018-12-04 22:15:18

阅读数 727

评论数 3

FFmpeg音视频学习

项目地址:https://github.com/Dovar66/ffmpeg_so 1.编译FFmpeg 环境配置看这里: [windows下编译FFmpeg] 编译到Android则需要额外配置: 1、修改ffmpeg项目根目录下的configure文件 将文件中的如下四行: SLIBN...

2018-11-07 18:32:33

阅读数 1006

评论数 0

IntelliJ插件开发的简要流程,附参考项目地址(Git Pull Extender)

1.安装IntelliJ IDEA并启用Gradle插件 2.创建Plugin项目 选择Gradle并勾选IntelliJ Plateform Plugin,然后跟随引导完成项目的创建。创建后的项目目录应该是下图这样的 3.配置项目 接下来我们主要关注两个文件,就是上图中的bu...

2018-10-24 14:13:51

阅读数 158

评论数 0

Git subtree

原始的visoc(父项目)项目结构是下图这样的: 子项目router是这样的: 在父仓库中新增子仓库 我们执行以下命令把router添加到visoc中: git subtree add --prefix router git@github.com:Dovar66/Router.gi...

2018-10-19 18:00:16

阅读数 79

评论数 0

从jks证书中提取公钥和私钥(jks证书转pem证书)

jks转为p12,然后再将p12转为pemAndroidStudio使用keystore文件对APK进行签名,但快应用中要求使用PEM文件对RPK进行签名。现有demo.jks,证书密码为demopwd,转换成pem之后依然使用demopwd作为密码。方...

2018-05-15 22:17:29

阅读数 5010

评论数 0

记录IDA动态调试进行APK脱壳流程

1.启动IDA文件夹dbgsrv中的android_server 命令2.端口转发 新开一个cmd进行端口转发:adb forward tcp:23946 tcp:23946如果不进行端口转发,IDA将无法正常连接到端口239463.以调试模式启动应用 调试模式启动应用:adb shell am ...

2018-03-28 10:38:56

阅读数 718

评论数 2

paho.mqtt代码分析(有待详述)

MQTT与webSocketMqtt底层使用webSocket实现,通过发送http或https请求与服务端开始进行handshake,握手完成后协议将从http(https)升级成webSocket并建立长连,之后通过长连进行通信。sdk中关于websocket部分结构及handshake信息如...

2018-03-09 13:12:14

阅读数 2400

评论数 0

初识MQTT

MQTT发布/订阅发布/订阅模式(pub/sub)是传统客户端-服务器模型的一个替代模式。在传统的客户机-服务器模型中,客户端直接与端点进行通信。但是,Pub/Sub模式解耦了发送消息的客户端(发布者)与其它接收消息的客户端(订阅者)。这意味着发布者和订阅者并不知道彼此的存在。有一个发布者和订阅者...

2018-03-09 13:08:35

阅读数 118

评论数 0

反编译与xposed模块开发

需求描述:008神器生成的数据中,手机型号数据老旧并且android版本低于4.4无法满足现有需求,需要更新手机型号数据并且扩展到更高的android版本。思路一:反编译008神器并重新打包使用androidKiller反编译008.apk,点击打开链接思路二.实现一个修改手机信息的xposed模...

2018-03-05 10:37:28

阅读数 1675

评论数 0

反编译008神器,修改手机型号与android版本号信息

008神器依赖xpose可修改其他应用获取到的系统参数值,见下图但是我们直接从网上下载的008神器生成的手机型号和安卓版本号都是好几年前的。下面就来分析下怎么修改这些手机型号和安卓版本号数据。首先当然是要反编译,这里推荐个反编译神器:Android Killer,支持一键反编译反编译后的项目结构如...

2018-02-07 18:39:27

阅读数 6734

评论数 12

AccessibilityService重新整理:微信自动抢红包、微信自动向附近的人打招呼

去年写过微信抢红包插件的实现,但是今年春节的时候发现微信更新之后我自己写的插件竟然会停在开红包的页面无法继续向下执行,debug之后发现问题是在该页面通过findAccessibilityNodeInfosByViewId()方法无法获取到有效的根节点,几经查看api之后仍未有效定位到原因,遂作罢...

2017-03-13 22:05:43

阅读数 7191

评论数 28

记录Gerrit的使用及常用git内容

1.Gerrit是什么?   Gerrit实际上一个Git服务器,它为在其服务器上托管的Git仓库提供一系列权限控制,以及一个用来做Code Review是Web前台页面。当然,其主要功能就是用来做Code Review。 2.配置ssh 1.使用gitbash查看是否已经有了ssh密钥:...

2017-03-08 15:57:36

阅读数 2075

评论数 0

android微信支付集成与踩坑记录

!!!第一处: 官方demo中AppRegister是下面这样的: public class AppRegister extends BroadcastReceiver { @Override public void onReceive(Context context, Inten...

2016-12-21 01:43:50

阅读数 2084

评论数 0

利用photoView实现可点击放大到全屏显示的控件,效果类似于微信朋友圈点开看大图

此控件继承自ImageView,实现效果与微信朋友圈点开看大图相似,点击控件后进入沉浸模式全屏显示大图,全屏时双击或手指拉伸可放大图片,单击会退出全屏 老规矩,先上控件实现代码: /** * 可点击放大全屏显示的imageView * Created by Administrator on 2...

2016-11-16 19:17:48

阅读数 7190

评论数 4

消灭黑白屏,实现android app“快速启动”

开发app的时候,如果我们没有对app的启动页做相关处理,那我们的app每次开启的时候都会有一个白屏或者黑屏的过程,黑、白屏主要取决于启动页的theme背景,正是这个黑白屏过程的存在会让我们感觉app启动速度慢,本篇博客中所说的“快速启动“”也正是针对这个过程进行优化以达到没有黑白屏的过程; 我们...

2016-09-28 18:00:21

阅读数 2748

评论数 2

android界面UI美化:沉浸模式、全透明或半透明状态栏及导航栏的实现

android api19开始我们就能对顶部状态栏和底部导航栏进行半透明处理了,而api21开始则可以实现全透明状态栏与导航栏以及开启沉浸模式,至于什么是沉浸模式,大家百度一下应该就都知道了,有一点需要强调的是全透明不是沉浸模式,前者只是将状态栏、导航栏的背景设置为完全透明,而后者则是完全将状态栏...

2016-09-28 10:26:42

阅读数 9284

评论数 3

实现微信自动向附近的人打招呼,收到指定账户推送文章时自动进入微信打开链接

学习功能强大的AccessibilityService!!! 以下是本人根据自动抢红包的实现思路敲的用于微信自动向附近的人打招呼的核心代码 public class AutoService extends AccessibilityService implements View.OnClick...

2016-09-23 17:58:42

阅读数 3731

评论数 8

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