- 博客(41)
- 资源 (3)
- 收藏
- 关注
原创 Android14默认屏幕亮度参数修改
frameworks/base/packages/SettingsProvider/res/values/defaults.xml里面的参数def_screen_brightness已经失效,系统首次开机会被写道/data/system/users/0/settings_secure.xml中的screen_brightness节点,通过命令可以查看(settings list system |grep screen_brightness),需要修改frameworks/base/core/res/res/
2025-04-01 19:14:57
154
原创 Android apex调试方式
2,remount后使用out/target/product/qssi/system/apex/下面对应的文件替换/system/apex文件,重启测试(例如:adb push com.android.art.capex /system/apex)1,make xxxx -j32 (例如:make com.android.art -j64);
2025-01-10 14:59:11
247
原创 Android debug intent匹配问题
添加framework中的ComponentResolver和IntentResolver文件,打开debug信息。
2024-08-26 21:09:16
142
原创 Android系统中通过so查看ndk的版本
一,使用readelf工具读出,so中".comment"字段数据,此段数据描述了编译时使用的clang的版本号;二,根据clang版本,去找对于的ndk版本;
2024-02-05 14:05:09
1095
原创 Android系统中使用ps指令
ps -o FIELEDS只监控一个FIELEDS项(top使用方式一样)ps -O FIELEDS添加可以监听子项(top使用方式一样)ps -P ppid 列出所有父进程相同的进程。ps -o help查看可以监的子项。ps -ef 列出所有进程PID。ps -p pid 列出pid。
2024-01-23 11:48:46
676
原创 Android.bp
export_include_dirs: 模块所依赖的库继承include目录。include_dirs: 针对aosp相对路径搜索头文件。local_include_dirs: 从当前路径开始搜索。
2024-01-19 15:57:13
671
原创 i2cdetect 使用总结
2,不是所有的i2c设备都能探测到,有些16位寄存器i2c设备无法探测到,可以尝试使用i2ctransfer去尝试读写来判断当前地址是否存在设备;1,上面有UU和和数字显示,UU表示此地址已经加载了驱动,具体有没有设备不一定,显示有数字说明探测到设备了;
2022-10-22 10:51:28
8304
1
原创 Android系统代码打印堆栈信息
(1)#include <utils/CallStack.h>using namespace android;需要打印堆栈地方加如下代码 CallStack stack; stack.update(); stack.log(LOG_TAG);(2)makefile 需要链接so库libutilscallstack
2022-04-25 19:36:07
2395
原创 android11自定义host目录下工具使用问题
Android11系统中使用编译号到目录out/host/xxx/bin下得工具在mk中直接使用会报如下错误"mkdeviceinfo" is not allowed to be used. See https://android.googlesource.com/platform/build/+/master/Changes.md#PATH_Tools for more information.原因是Android11为了安全使用不能使用path路径下直接运行,需要全路径指定,如下所示$(HO
2022-02-18 14:21:04
1058
原创 【无标题】
Android SharedPreferences无法保存的问题看似人畜无害的代码,就是无法保存数据跟踪系统源码调用关系Context.javaContextImpl.java返回实例对象SharedPreferencesImpl,SharedPreferencesImpl.java所以每次调用edit()返回的对象都是重新new出来的,所commit的数据不是保存数据的的editor。所以修改一如下...
2022-01-28 10:47:39
391
原创 Android9.0预制文件权限修改
1,编译镜像的时候可以控制文件权限build/make/tools/fs_config/fs_config.c中可以定义需要修改的文件权限;2,修改kernel源码,添加文件权限system/core/libcutils/fs_config.cpp
2021-09-29 20:53:51
809
原创 Android ListView中item会重复加载原因
ListView中只有一个item得时候发现,在不同设备上面调用了notifyDataSetChanged后发现item会出创建两次,出现两次后如果想动态局部更新控件参数,不生效,分析原因由于ListView中设置layout_height为wrap_content...
2021-07-21 10:03:26
531
原创 Android studio中编辑字符数组中不能添加“ ‘ “
编辑字符数组中不能添加" ' ",编译会报java.lang.IllegalStateException: startElement.getAttributeByName(QName("name")) must not be null
2021-07-13 19:40:38
408
原创 Android String16字符串打印
status_t AudioRecord::openRecord_l(const Modulo<uint32_t> &epoch, const String16& opPackageName){ ALOGE("openRecord_l opPackageName=%s", String8(opPackageName).string());}
2021-07-13 19:36:48
1905
原创 C++中字符串问题
const String8& name一般作为形参,const表示name为常量,传递过程中不允许改变,String8表示name为字符类型,&取地址,类似指针,表示传递过程是以指针形式传递,不会产生临时变量
2021-05-24 20:26:44
199
原创 c++函数定义默认形参
status_t postMessageSync(const sp<MessageBase>& msg, nsecs_t reltime = 0, uint32_t flags = 0);mFlinger->postMessageSync(msg);1.若函数具有多个形参,则默认形参值必须自右向左连续地定义,并且在一个默认形参值的右边不能有未指定默认值的参数。这是由于c++语言在函数调用时参数是自右向左入栈这一约定决定的。eg:int f(int a, float b=
2021-05-24 09:31:07
2317
原创 gradle
Linux环境下使用gradle编译的时候配置shrinkResources true时,minifyEnabled必须配置为true才能编译通过
2021-05-20 16:34:49
88
原创 android根据编译可执行镜像查找源文件目录
进入系统生成目录out,进入\out\target\product\xxxx\obj\EXECUTABLES\xxxxx_intermediates,找到对应的xxxx.d文件,打开就可以找到编译使用的源文件;
2021-05-12 17:01:49
232
原创 Android framework 核心服务锁命名规则
framework中很多方法以Lw,Lp,LI,结尾,Lw表示WindowsManagerService中的window锁,Lp表示PhoneWindowManage锁,LI是PackageManagerService中的安装锁
2021-04-22 19:12:36
330
原创 mmm指定单个module编译
当一个Android.mk存在多个module时,单独编译其中的一个module,使用mmm **/**/:module-name;例如:mmm external/avb/:libavb
2021-03-19 11:21:42
360
原创 Android系统的zygote启动
Android系统的zygote启动Android系统boot启动进入kernel,后启动init进程,开始解析init.rc文件,当解析到service zygote /system/bin/app_process -Xzygote /system/bin --zygote --start-system-server就开始启动zygote进程。首先调用app_process.cpp中main函数,因为传入参数为zygote...
2021-03-17 17:22:27
397
原创 Android studio修改预览界面avd的density值,来保证和真机一样的dpi值
1,Tools->AVD Manager->Create Virtual Device;2,选择你想修改density模拟器,右键导出配置,修改xml中的dpi文件夹,修改名称;3,再次导入xml就可以看到新添加的模拟器;...
2019-11-28 20:15:13
2166
1
原创 Android应用中TextView做跑马灯效果
<TextViewandroid:singleLine="true"android:ellipsize="marquee"android:marqueeRepeatLimit="marquee_forever"android:scrollHorizontally="true"android:focusable="true"android:focusableInTouchMod...
2019-03-26 09:35:37
225
原创 Andoid编译预置so
LOCAL_PATH := $(call my-dir)define mult-prebuilt-sky-libs$(foreach t,$(1), \ $(eval $(info @@@ Share lib MODULE=$(LOCAL_MODULE) by SRC=$(t).so)) \ $(eval include $(CLEAR_VARS)) \ $(eval LOC...
2019-03-23 17:39:59
302
原创 LeakCanary配置
1,Gradle配置依赖debugCompile 'com.squareup.leakcanary:leakcanary-android:1.5.1'releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.5.1'2,Application中配置private RefWatcher refWatcher...
2018-11-01 09:11:47
659
原创 Java中的基本数据类型
4中基本整型类型(带符号)byte 8位 最高位0 表示正数,1表示负数 范围 -0x80~0x7fjava封装类型Byteshort 16位 最高位0 表示正数,1表示负数 范围 -0x8fff~0x7fffjava封装类型Shortint 32位 最高位0 表示正数,1表示负数 范围 -0x80000000 ~ 0x7fffffffjava封装类型Integer 区...
2018-10-27 21:49:23
237
原创 android系统编译sdk
1,原生的sdk android.jar存放在prebuilt/sdk/sdk_vxx目录下面,编译系统是会拷贝到out\target\common\obj\JAVA_LIBRARIES\sdk_vxx_intermediates下面;2,当前所有系统SDK编译生成目录out\target\common\obj\JAVA_LIBRARIES\\android_stubs_current_int...
2018-10-27 13:02:09
2378
原创 android系统的应用配置的persistent属性
persistent应用为常驻内存应用,android系统在开机是会预先启动system下面配置了persistent属性的应用,并且死后会被系统重新启动,在systemReady方法中调用但是并不意味着应用在AndroidManifest.xml的Application节点配置android:persistent=true,就能开机启动,只有当此应用是系统应用并且配置了此属性才可以;...
2018-10-16 21:58:11
4609
原创 React Native Flexbox布局
fixeDireciton 控件排列方向 取值:row(默认值), row-reverse,column,column-reverserow:从左到右水平方向排列row-reverser:从右到左水平方向排列column:从上到下竖直方向排列column-reverse:从下到上竖直排列 fixeWarp 属性用于指定弹性盒子的子元素换行方式 取值:warp, nowar...
2018-09-13 16:16:08
135
原创 Android系统中getService和getSystemService区别
出处getService来自frameworks/base/core/java/android/os/ServiceManager.java文件静态方法,public static IBinder getService(String name) { try { IBinder service = sCache.get(name); i...
2018-03-11 22:29:51
5849
原创 Android系统的NTP时间更新
Android系统用于网络时间更新的最重要的类NetworkTimeUpdateService,在SystemServer中初始化调用,NetworkTimeUpdateService类中的依次进行构造函数和systemRunning方法进行初始化工作,获取时间的机制,在规定连接次数里面采用每隔一分钟获取NTP时间一次,超过连接次数采用240h周期更新一次NTP时间;构造函数 pub
2018-02-06 15:01:48
4633
原创 Android Studio使用小记
1,添加重写函数的方法右击----Generate---Override Method---选择要重载的函数,快捷键Ctrl + o2,Alt + Enter 快捷键导包3,若Android Studio崩溃,可以删除C盘下面的.AndroidStudioPreview2目录重新开始新的设置;4,单个文件全局替换字符串,ctr +
2017-12-22 14:30:58
196
原创 Android系统view控件使用的一些坑
1,ImageView对象调用setImageResoure若出现图片重叠的现象,可查询xml文件中,ImageView中的background属性改为src;2,shape控件 <gradientandroid:startColor="#ff8c00"android:endColor="#FFFFFF"
2017-12-22 13:47:51
391
原创 Android系统调试指令
循环执行脚本:while true;do procrank | grep com.topway.livetv; sleep 1; done 网络设置:抓包:tcpdump-i eth1 -s0 -w /data/test.pcap开启关闭网络端口:busyboxifconfig eth0 up; busybox ifconfig eth0 down设置静态IP:busybo
2017-12-22 13:41:14
4981
原创 Android系统适配蓝牙遥控器键值
1,先确定走(/system/usr/keylayoutandroid系统中在/framework/base/data/keyboards)哪一个kl文件,可以通过指令getevent-l是那个event事件;cat/proc/bus/input/devices查看,根据Vendor,Product,Version确定kl,没有对应的kl文件,则走默认的Generic.kl; root@H
2017-12-22 13:33:59
10629
Frontline Bpa Lower Energy蓝牙协议分析仪使用指引及Android系统蓝牙抓包方法.pdf
2019-06-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人