android系统
长方体空间移动engineer
撼树蚍蜉
展开
-
Android.bp
export_include_dirs: 模块所依赖的库继承include目录。include_dirs: 针对aosp相对路径搜索头文件。local_include_dirs: 从当前路径开始搜索。原创 2024-01-19 15:57:13 · 524 阅读 · 0 评论 -
i2cdetect 使用总结
2,不是所有的i2c设备都能探测到,有些16位寄存器i2c设备无法探测到,可以尝试使用i2ctransfer去尝试读写来判断当前地址是否存在设备;1,上面有UU和和数字显示,UU表示此地址已经加载了驱动,具体有没有设备不一定,显示有数字说明探测到设备了;原创 2022-10-22 10:51:28 · 7697 阅读 · 1 评论 -
Linux内核打印时间戳解读
时间戳描述信息解读点之前为s,点之后为us,@符号后面为运行在哪个cpu核上面,类似线程号原创 2022-05-04 23:08:28 · 1055 阅读 · 0 评论 -
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 · 2370 阅读 · 0 评论 -
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 · 1025 阅读 · 0 评论 -
Android源码下面生成项目的Key
参考build/target/product/security/README文档提示生成原创 2022-02-09 15:14:30 · 1379 阅读 · 0 评论 -
【无标题】
Android SharedPreferences无法保存的问题看似人畜无害的代码,就是无法保存数据跟踪系统源码调用关系Context.javaContextImpl.java返回实例对象SharedPreferencesImpl,SharedPreferencesImpl.java所以每次调用edit()返回的对象都是重新new出来的,所commit的数据不是保存数据的的editor。所以修改一如下...原创 2022-01-28 10:47:39 · 380 阅读 · 0 评论 -
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 · 766 阅读 · 0 评论 -
Android ListView中item会重复加载原因
ListView中只有一个item得时候发现,在不同设备上面调用了notifyDataSetChanged后发现item会出创建两次,出现两次后如果想动态局部更新控件参数,不生效,分析原因由于ListView中设置layout_height为wrap_content...原创 2021-07-21 10:03:26 · 500 阅读 · 0 评论 -
Android studio中编辑字符数组中不能添加“ ‘ “
编辑字符数组中不能添加" ' ",编译会报java.lang.IllegalStateException: startElement.getAttributeByName(QName("name")) must not be null原创 2021-07-13 19:40:38 · 380 阅读 · 0 评论 -
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 · 1822 阅读 · 0 评论 -
Android Studio中间区域无法显示代码问题
又更新插件make,make插件异常导致原创 2021-06-12 20:33:09 · 409 阅读 · 2 评论 -
C++中字符串问题
const String8& name一般作为形参,const表示name为常量,传递过程中不允许改变,String8表示name为字符类型,&取地址,类似指针,表示传递过程是以指针形式传递,不会产生临时变量原创 2021-05-24 20:26:44 · 174 阅读 · 0 评论 -
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 · 2283 阅读 · 0 评论 -
gradle
Linux环境下使用gradle编译的时候配置shrinkResources true时,minifyEnabled必须配置为true才能编译通过原创 2021-05-20 16:34:49 · 74 阅读 · 0 评论 -
android根据编译可执行镜像查找源文件目录
进入系统生成目录out,进入\out\target\product\xxxx\obj\EXECUTABLES\xxxxx_intermediates,找到对应的xxxx.d文件,打开就可以找到编译使用的源文件;原创 2021-05-12 17:01:49 · 209 阅读 · 0 评论 -
Android framework 核心服务锁命名规则
framework中很多方法以Lw,Lp,LI,结尾,Lw表示WindowsManagerService中的window锁,Lp表示PhoneWindowManage锁,LI是PackageManagerService中的安装锁原创 2021-04-22 19:12:36 · 297 阅读 · 0 评论 -
mmm指定单个module编译
当一个Android.mk存在多个module时,单独编译其中的一个module,使用mmm **/**/:module-name;例如:mmm external/avb/:libavb原创 2021-03-19 11:21:42 · 336 阅读 · 0 评论 -
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 · 384 阅读 · 0 评论 -
Android studio修改预览界面avd的density值,来保证和真机一样的dpi值
1,Tools->AVD Manager->Create Virtual Device;2,选择你想修改density模拟器,右键导出配置,修改xml中的dpi文件夹,修改名称;3,再次导入xml就可以看到新添加的模拟器;...原创 2019-11-28 20:15:13 · 2075 阅读 · 1 评论 -
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 · 10517 阅读 · 0 评论 -
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 · 4917 阅读 · 0 评论 -
Android系统view控件使用的一些坑
1,ImageView对象调用setImageResoure若出现图片重叠的现象,可查询xml文件中,ImageView中的background属性改为src;2,shape控件 <gradientandroid:startColor="#ff8c00"android:endColor="#FFFFFF"原创 2017-12-22 13:47:51 · 382 阅读 · 0 评论 -
Android Studio使用小记
1,添加重写函数的方法右击----Generate---Override Method---选择要重载的函数,快捷键Ctrl + o2,Alt + Enter 快捷键导包3,若Android Studio崩溃,可以删除C盘下面的.AndroidStudioPreview2目录重新开始新的设置;4,单个文件全局替换字符串,ctr +原创 2017-12-22 14:30:58 · 183 阅读 · 0 评论 -
Android系统的NTP时间更新
Android系统用于网络时间更新的最重要的类NetworkTimeUpdateService,在SystemServer中初始化调用,NetworkTimeUpdateService类中的依次进行构造函数和systemRunning方法进行初始化工作,获取时间的机制,在规定连接次数里面采用每隔一分钟获取NTP时间一次,超过连接次数采用240h周期更新一次NTP时间;构造函数 pub原创 2018-02-06 15:01:48 · 4581 阅读 · 0 评论 -
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 · 5784 阅读 · 0 评论 -
android系统的应用配置的persistent属性
persistent应用为常驻内存应用,android系统在开机是会预先启动system下面配置了persistent属性的应用,并且死后会被系统重新启动,在systemReady方法中调用但是并不意味着应用在AndroidManifest.xml的Application节点配置android:persistent=true,就能开机启动,只有当此应用是系统应用并且配置了此属性才可以;...原创 2018-10-16 21:58:11 · 4554 阅读 · 0 评论 -
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 · 2355 阅读 · 0 评论 -
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 · 648 阅读 · 0 评论 -
Android系统mk编译
android系统编译单个module定义内容,build/core/config.mk中定义;原创 2019-03-18 16:13:02 · 292 阅读 · 0 评论 -
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 · 290 阅读 · 0 评论 -
android TV海思方案系统启动流程
android TV海思方案系统启动流程原创 2016-10-25 15:34:16 · 2674 阅读 · 0 评论