![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
安卓应用
文章平均质量分 62
aa787282301
这个作者很懒,什么都没留下…
展开
-
APP 支持asan检查
android-ndk开发工具下有一个asan_device_setup脚本:~/Android/android-ndk-r21/toolchains/llvm/prebuilt/linux-x86_64/lib64/clang/9.0.8/bin/asan_device_setup执行了脚本之后app就能支持asan检查了具体原理为:1.app_process被替换为了一个脚本:#!/system/bin/sh-from-zygoteASAN_OPTIONS=start_deac原创 2021-09-10 15:35:23 · 592 阅读 · 0 评论 -
hook学习案例
main.c#include <inttypes.h>#include <unistd.h>#include <stdlib.h>#include <stdio.h>#include <sys/mman.h>#include <test.h>#define PAGE_START(addr) ((addr) & PAGE_MASK)#define PAGE_END(addr) (PAGE_START(ad原创 2021-07-19 21:58:02 · 175 阅读 · 0 评论 -
hiddenapi无法反射问题
一.摘要 最近在q上遇到一个问题,有同事反应为什么我反射的方法在q上找不到对应的方法了,只获得了一些class.java的方法,这是q上在art中新加的hiddenapi相关的策略做了限制导致的,那么我们来看看是怎么限制的吧二.代码分析1.测试代码:void test() { List list = new ArrayList(); Class mclass = null; try { mclass = Class.forName...原创 2021-07-19 21:54:32 · 2013 阅读 · 1 评论 -
native内存泄漏分析
一.摘要 我们在分析内存泄漏时java内存泄漏我们可以集成LeakCanary来进行监控,出现问题时会打印出泄漏时的引用关系,那么我们native内存泄漏时如何分析呢?native内存泄漏我们可以通过malloc_debug工具来进行监控,详细的介绍请参考:https://android.googlesource.com/platform/bionic/+/master/libc/malloc_debug/README.md二.如何使用 默认情况下高通的手机已经包含了mal...原创 2020-06-08 22:06:02 · 4486 阅读 · 0 评论 -
fd泄漏检测
一.摘要我们在分析fd泄漏问题的时候一般的通用方法是在/proc/pid/fd下不断的ls -al | wc -l统计fd数量,并且查看哪个fd不断的增多,然后再去代码中排查对应的代码,有时候光看fd并不容易找到泄漏的地方。本文章将介绍高通的leakdetect方法。二.leakdetect使用介绍默认情况下手机已经包含了fd泄漏的检测代码,具体路径在:bionic/libc/malloc_debug/,它可以监控:file(1),socket(2),mmap(3)具体原理就不多说了,.原创 2020-06-02 18:05:28 · 2755 阅读 · 0 评论 -
Android.bp条件编译
一.概要 我们修改代码的时候经常会有一些共线的机器,我们只想进指定的机器或者指定的分支,在Android.mk中可以直接使用if来做判断,但是到了Android.bp中就无法在bp文件中使用条件编译了,本文将教会你怎么让bp文件也支持条件编译二.Android.bp介绍http://androidxref.com/9.0.0_r3/xref/frameworks/na...原创 2019-10-30 14:10:41 · 8858 阅读 · 1 评论 -
App收集Native Crash案例
由于一直都在做android系统相关的工作,获取native crash日志文件比较方便,只要发生native crash我们直接去/data/tombstones下找就行了,然后找到当天系统的symbols文件,再配合addr2line就可以分析了。因为今天被人问了app 没有权限应该怎么获取native crash堆栈,自己也只是大概知道是通过捕获信号量的方式处理的,并没有能说得很清楚,所以花...原创 2019-06-30 03:36:38 · 1105 阅读 · 0 评论 -
idea使用Allatori混淆java代码
摘要 我们平时开发的java项目大多是生成一个jar包运行,而jar包可以通过jd-gui进行解析,然后看到我们的源代码,如果我们写了大量的代码别人直接通过这样的方式把我们的辛苦成果直接窃取了那是多么难过的事情,因此我们很有必要对jar包做一些混淆代码的操作,让别人无法直接看懂我们的代码。本文将教会你如果把jar包进行混淆一.创建java项目,并运行1.创建并运行工程:点...原创 2019-06-04 16:26:44 · 6497 阅读 · 2 评论 -
从aboot调用xbl方法
原创 2019-01-31 22:47:24 · 1192 阅读 · 0 评论 -
android性能优化-Handler
一.概述 很多APP都要做性能优化,但是做性能优化首先得要发现问题,本本篇文章将教会你怎么发现android卡顿的地方。 二.如何发现卡顿点 卡顿一般都是线程处理消息卡顿,那我们就看看如何发现某一个消息卡顿吧,看这里前建议先了解一下Handler的原理,我就不再介绍了。我们每一个线程都会有一个loop,这个负责循环处理消息,我们直接上代码吧:/** * Run...原创 2018-12-23 16:20:50 · 532 阅读 · 0 评论 -
APK反编译
apktool使用:./apktool.sh d TaobaoMobile_V8.1.10.apk 反编译:将apk解压:1.unzip TaobaoMobile_V8.1.10.zip:unzip TaobaoMobile_V8.1.10.zip解压后会有classes.dex文件2../dex2jar-2.0/d2j-dex2jar.sh classes.d...原创 2018-12-11 14:39:59 · 168 阅读 · 0 评论 -
Sensor-马达配置
一.基本配置 1.确定马达类型(qcom,actuator-type):erm/lra(一般DC是erm,AC是lra) 2.确定马达频率(qcom,play-rate-us) 3.确定马达电压(qcom,vmax-mv)二.花样配置kernel/msm-4.14/Documentation/devicetree/bindings/input/qti-hapt...原创 2018-12-27 21:47:44 · 1342 阅读 · 0 评论 -
PackageServices start流程图
未完原创 2018-12-05 10:26:59 · 291 阅读 · 0 评论 -
google低存储方案设计(略微修改)
一.概述 当手机剩余存储过低时系统可能会无存储可用,从而导致系统崩溃或无法开机问题。为了解决这类问题我们制定了一套低存储方案,引导用户清理垃圾腾出存储空间,和预留空间给系统应用使用,降低存储导致的系统崩溃或无法开机的问题。该方案主要从应用,Framework,文件系统层三层来深入展开。应用层,这一层主要是清理应用中的垃圾。Framework层,这层主要是给应用提供数据支撑,和情非得以的情况下...原创 2018-12-05 10:24:10 · 732 阅读 · 0 评论 -
DeviceStorageMonitorService时序图/类图
原创 2018-12-05 10:06:55 · 305 阅读 · 0 评论 -
由于外勤365执行shell命令,导致binder被占满,最终触发watchdog
后续更新原创 2018-03-31 19:15:31 · 740 阅读 · 0 评论