随笔分类 - Android
摘要:1. 读写字节码 我们知道 Java 字节码以二进制的形式存储在 class 文件中,每一个 class 文件包含一个 Java 类或接口。Javaassist 就是一个用来处理 Java 字节码的类库。 在 Javassist 中,类 Javaassit.CtClass 表示 class 文件。一
阅读全文
摘要:1. 概述 Android项目的构建过程是由Gradle插件完成的,Gradle 插件是在Gradle框架的基础上实现的,Gradle框架是使用Groovy语言实现的。因此学习一下Groovy语言的一些常用语法是有必要的。 Gradle插件源码下载:gradle_3.0.0 2. Groovy语法
阅读全文
摘要:在项目根目录下打开终端,执行 gradlew build --stacktrace 看详细信息
阅读全文
摘要:1、Binder的三层架构 2、BC、BR的理解 通信模型 Binder协议包含在IPC数据中,分为两类: :binder请求码,以”BC_“开头,简称BC码,用于从IPC层传递到Binder Driver层; :binder响应码,以”BR_“开头,简称BR码,用于从Binder Driver层传
阅读全文
摘要:windows mac(linux) 效果
阅读全文
摘要:一、问题 android studio调试apk的时候安装失败 二、解决方案 在项目根目录的gradle.properties文件添加以下配置
阅读全文
摘要:一、问题排查 debug调试的framework日志信息: 根据日志,进入MediaPlayer的framework层看源码 STEP 1 先从 可以看到这是正常的new了一个C++层的MediaPlayer 以及设置了一个Java层的弱引用给C++层的MediaPlayer监听,目前一切正常 ST
阅读全文
摘要:经过研究macaca的android模块源码,原理主要由以下三块构成 一、uiautomator TODO 二、nanohttp TODO 二、adb forward TODO
阅读全文
摘要:一、解决思路 通过监听ContentObserver监听下载路径 二、具体步骤 1 设置监听器 2 数据解析 Uri过滤 应用信息获取: private void obtainAppInfo(String segment){ ... cursor = queryDownloadPkg(segment
阅读全文
摘要:背景:GP新政策,要求Google Player上架应用的targetSdkVersion =26。 一、 为啥GP要求targetSdkVersion =26? 1 targetSdkVersion是啥?有什么作用? targetSdkVersion是App在打包时可以指定的一个参数。跟一台设备执
阅读全文