android日常积累
奋力搬砖
早起的鸟儿有虫吃
展开
-
adb安装应用后重启设备应用消失
场景:应用本身安装在system/app路径下,然后我们通过adb install -r安装应用后重启手机,发现应用还是用的以前的不是我们更新的分析:首先adb install -r安装的应用是在data/app/下,由于apk在system/app中已经存在,所以系统会在data/app/的应用包名后添加-1作为标记抓取开机log有如下log打印:01-01 19:19:38.103 787 787 D PackageManager: scan package: /system/app/P9原创 2020-10-13 11:37:56 · 2284 阅读 · 0 评论 -
在系统中添加新的可执行文件,为其添加相关selinux权限
最近在项目中要求添加一个新的可执行文件,编译后的路径是system/bin中,这就涉及两方面问题,如何去启动它,怎么添加selinux权限一 添加启动参考系统相似的功能,发现都是通过init.rc去启动的,所以我们也在init.rc中启动system/core/rootdir/init.rc+service htfsk /system/bin/htfsk+ class core+...原创 2020-03-19 16:22:57 · 1097 阅读 · 0 评论 -
基于android N添加服务使其成为系统服务
部分一一 我们首先需要写好自己的服务frameworks/base/core/java/android/content/dyna/DynaSystemManager.javaframeworks/base/core/java/android/content/dyna/IDynaSystemManager.aidlframeworks/base/services/core/java/com/...原创 2020-03-19 15:53:25 · 610 阅读 · 0 评论 -
android-通过端口确定进程
今天碰到一个问题,安全部分说我们机器8000端口一直处理LISTEN状态,让我查一下是哪个进程,需要解除这个状态,要确认是哪个进程在监听这个8000端口,我首先adb shell之后使用netstatusroot@p92s_hd:/ # netstat Proto Recv-Q...原创 2019-12-16 14:02:34 · 775 阅读 · 0 评论 -
Android射频校准标志位(Barcode)
最近项目要求在工具中添加一个校准标志位,通过ATE工具写入射频参数后应用工具中能显示已校准在MTK得工厂测试中也是有读取Barcode得,里面有两个方法一 通过读取NvRam来获取校准标志位int get_barcode_from_nvram(char *barcode_result){ int read_nvram_ready_retry = 0; F_ID fid; int ...原创 2019-10-16 17:48:19 · 1242 阅读 · 0 评论 -
MTK平台NvRam读取
最近做项目需要读取NvRam信息,完成之后做下笔记以便以后用,由于是MTK平台,MTK有自己得一套NvRam读取得方式,目前是在android L版本做的,还是用得NvRAMAgent来操作首先将NvRAMAgent文件放到工程目录中,内容如下,记得改下包名/* Copyright Statement: * * This software/firmware and related docu...原创 2019-10-16 17:33:03 · 1047 阅读 · 0 评论 -
PMS-应用安装过程签名(Android L)
在安装APK时系统会对APK的签名做一些验证以确保APK的完整性,不管以何种方式安装APK都会走到PMS中的installPackageLI()方法frameworks/base/services/core/java/com/android/server/pm/PackageManagerService.javaprivate void installPackageLI(InstallArgs...原创 2019-10-10 17:02:20 · 661 阅读 · 0 评论 -
Handle源码学习
在日常工作中有很多地方都会使用handle,比如更新ui界面或者线程间通信,正常主线程使用就不说了,注意下不要内存泄漏就可以了,关于这个可以参考内存泄漏和内存溢出以及优化,这里主要看线城中使用,我们都知道在线城中我们都需要先Looper.prepare()然后再Looper.loop(),否则就会报No Looper; Looper.prepare() wasn't called on this ...原创 2019-10-09 17:47:15 · 200 阅读 · 0 评论 -
内存泄漏和内存溢出以及优化
如果一个无用对象(不需要再使用的对象)仍然被其他对象持有引用,造成该对象无法被系统回 收,以致该对象在堆中所占用的内存单元无法被释放而造成内存空间浪费,这中情况就是内存泄 露。原创 2019-09-24 15:49:09 · 255 阅读 · 0 评论 -
Android P版本添加双卡铃声
1 添加ro.config.ringtone_sim2值作为默认SIM2的铃声原创 2019-07-31 17:16:12 · 783 阅读 · 0 评论 -
为新摄像头添加metadata配置文件(MTK平台)
一般情况啊,对于新的摄像头如果没有对应的metadata文件的话,会默认走系统common的文件,这样不利于我们维护修改,所以我们需要添加新的metadata文件,以便我们做配置,我们可以把common的文件夹复制一份,然后修改成对应的摄像头型号即可,我们可以在vendor/mediatek/proprietary/custom/mt6761/hal/imgsensor_src/sensorlis...原创 2019-07-31 13:44:41 · 3591 阅读 · 4 评论 -
android判断一个应用是不是系统应用
public static boolean isSystemApp(Context context, Intent intent) { PackageManager pm = context.getPackageManager(); ComponentName cn = intent.getComponent(); String packageN...原创 2018-10-11 15:16:44 · 8872 阅读 · 0 评论