- 博客(37)
- 资源 (5)
- 收藏
- 关注
原创 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 2638
原创 android P 关于Activity启动(上)启动之前的准备
一 Activity启动的两种情况本文说的Activity的启动并不是Activity的四种启动模式而是我们在调用startActivity之后framework层是如何处理的,根据framework的处理大致可以分为两种情况:被启动的Activity此时所在的进程还没有运行起来这种情况就需要系统先去启动Activity所在的进程再去启动Activity,比较常见的场景是我们安装了一个应用,然后在Launcher界面点击图标去启动它被启动的Activity此时所在的进程已经在运行对于这种情况就没有
2020-09-07 15:36:47 474
原创 Android P 属性服务property的初始化与启动
288 // There is only a single mutator, but we want to make sure that289 // updates are visible to a reader waiting for the update.
2020-08-06 17:45:54 1874
原创 Android P init启动阶段干了啥
init进程是用户空间的第一个进程,在系统中占有至关重要的作用,比如创建zygote进程和属性服务等,在内核启动完成后便会查找init.rc文件并调用init.cpp文件来启动init进程首先看下init.cpp文件的main函数(system/core/init/init.cpp),由于main做了很多事情,代码很长,就一部分一部分查看吧int main(int argc, char** argv) { if (!strcmp(basename(argv[0]), "ueventd")) {
2020-08-06 14:54:05 524
原创 Flutter---常用的网站
关于包依赖https://dart.dev/tools/pub/dependencieshttps://pub.dev/学习资料:https://book.flutterchina.club/
2020-05-09 10:21:52 209
原创 android编译报错:fatal error: openssl/opensslv.h: No such file or directory
Android 9.0编译报错:fatal error: openssl/opensslv.h: No such file or directory解决办法:sudo apt-get install libssl-dev
2020-04-24 15:05:41 575
原创 Android将系统源码上传到自己的服务器
源码:一套本地代码。从其他服务器下载过来的,使用git仓库管理,已经有远程仓库目的:上传到自己的服务器。解除之前的远程仓库,建立公司内部仓库以便修改提交步骤:1 先解除远程仓库git remote rm origin可在.git/config里查看2 绑定本地仓库git remote git://xxx.xxx.xx.xx/SC200L.git这个SC...
2020-04-23 11:06:16 969
原创 在系统中添加新的可执行文件,为其添加相关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 1195
原创 基于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 853
原创 android-通过端口确定进程
今天碰到一个问题,安全部分说我们机器8000端口一直处理LISTEN状态,让我查一下是哪个进程,需要解除这个状态,要确认是哪个进程在监听这个8000端口,我首先adb shell之后使用netstatusroot@p92s_hd:/ # netstat Proto Recv-Q...
2019-12-16 14:02:34 919
原创 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 1424
原创 MTK平台NvRam读取
最近做项目需要读取NvRam信息,完成之后做下笔记以便以后用,由于是MTK平台,MTK有自己得一套NvRam读取得方式,目前是在android L版本做的,还是用得NvRAMAgent来操作首先将NvRAMAgent文件放到工程目录中,内容如下,记得改下包名/* Copyright Statement: * * This software/firmware and related docu...
2019-10-16 17:33:03 1147
原创 PMS-adb install安装应用流程(Android L)
第一次画流程图画的不好通过adb install安装应用时对framework来说会首先调用runInstall()方法private int runInstall(){ int installFlags = 0; int userId = UserHandle.USER_ALL; String installerPackageName = n...
2019-10-12 16:25:35 798
原创 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 729
原创 ThreadLocal源码简单学习
在源码中很多地方都会用到ThreadLocal,它可在在指定的线程中存储和取出数据,而其他线程是不可以的,打个比方说在Looper中的loop()方法中 public static void loop() { final Looper me = myLooper(); if (me == null) { throw new Runti...
2019-10-10 15:02:32 84
原创 Handle源码学习
在日常工作中有很多地方都会使用handle,比如更新ui界面或者线程间通信,正常主线程使用就不说了,注意下不要内存泄漏就可以了,关于这个可以参考内存泄漏和内存溢出以及优化,这里主要看线城中使用,我们都知道在线城中我们都需要先Looper.prepare()然后再Looper.loop(),否则就会报No Looper; Looper.prepare() wasn't called on this ...
2019-10-09 17:47:15 234
原创 MTK-EngineeMode-Hardware Testing
在MTK-EngineeMode-Hardware Testing得LCM测试中点击TM Status后灭屏硬件测屏幕结果是:背光关闭,屏未断电要求我们看是否正常在点击时会调用vendor/mediatek/proprietary/packages/apps/EngineerMode/src/com/mediatek/engineermode/lcm/EmDsenseLcmAssit.jav...
2019-10-08 17:49:09 571
原创 内存泄漏和内存溢出以及优化
如果一个无用对象(不需要再使用的对象)仍然被其他对象持有引用,造成该对象无法被系统回 收,以致该对象在堆中所占用的内存单元无法被释放而造成内存空间浪费,这中情况就是内存泄 露。
2019-09-24 15:49:09 282
原创 为新摄像头添加metadata配置文件(MTK平台)
一般情况啊,对于新的摄像头如果没有对应的metadata文件的话,会默认走系统common的文件,这样不利于我们维护修改,所以我们需要添加新的metadata文件,以便我们做配置,我们可以把common的文件夹复制一份,然后修改成对应的摄像头型号即可,我们可以在vendor/mediatek/proprietary/custom/mt6761/hal/imgsensor_src/sensorlis...
2019-07-31 13:44:41 3788 4
原创 ContinuousShotSettingView
package com.mediatek.camera.feature.setting;import android.preference.Preference;import android.preference.PreferenceFragment;import com.mediatek.camera.common.debug.LogUtil;import com.mediatek....
2019-07-23 17:42:21 137
原创 Android P版本烧录GSI
Android P之后烧录GSI相对于android O有了一些变化,Android O 环境配置和GSI烧录请参考android 8.1 VTS环境配置Mtk平台:MTK User load boot up to home screenPlease enable OEM unlocking in settingsPress volume up key + power key into f...
2019-07-23 17:17:22 1010
原创 MTK平台Android P版本GMS Camera相关修改记录
在Android P之后,Google要求新开案的项目必须使用hal3,在GMS认证中会对Camera的metadata配置进行检查,相比于hal 1变化还是很大的,下面是我在做项目时遇到的一些问题,做下记录,以便以后查阅,基于MTK平台,在对应摄像头的ic里面修改即可,类型一:报错提示有些key为null junit.framework.AssertionFailedError: The ...
2019-07-23 14:28:40 4767 1
原创 config_static_metadata_request_commonType.h
/* Copyright Statement: * * This software/firmware and related documentation ("MediaTek Software") are * protected under relevant copyright laws. The information contained herein is * confidentia...
2019-07-23 11:00:30 1479
原创 CameraMetadata摘录
/** Copyright (C) 2013 The Android Open Source Project** Licensed under the Apache License, Version 2.0 (the "License");* you may not use this file except in compliance with the License.* You ma...
2019-07-18 10:56:36 1511
原创 Android P系统默认蓝牙状态栏不显示图标
在Android P版本,状态栏上的蓝牙图标只有在连接蓝牙耳机或者蓝牙网络时才会显示,目前客户要求,只要打开蓝牙功能就必须显示蓝牙图标 修改如下: 文件路径(MTK平台) /vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/statusbar/ph...
2019-07-15 17:19:03 2255 3
原创 Android P 过GMS认证CDD检测项修改
1 系统内置两个浏览器,需要默认浏览器为chromeframeworks/base/services/core/java/com/android/server/pm/PackageManagerService.java在其构造方法末尾添加://weiyawei add start for default BrowsersetDefaultBrowserPackageName("co...
2019-07-12 17:33:46 865
原创 Android P修改关机充电动画
问题一:关机充电动画客制化以及错位调整1,关机充电logo图片都在alps/vendor/mediatek/proprietary/bootable/bootloader/lk/dev/logo目录下,在这里可以看到多个包含不同size图片的子目录,具体使用哪个子目录下的图片由${BOOT_LOGO}决定。 note:如果客户想要使用客制化的背景图片,可以直接替换子目录下对应编号的图...
2019-07-12 17:28:03 2414
原创 基于ubuntu16.04配置VNC远程连接
VNC官网下载https://www.realvnc.com/en/connect/download/vnc/linux/下载后的文件是VNC-Server-6.3.1-Linux-x86.deb,执行命令: sudo dpkg -iVNC-Server-6.3.1-Linux-x86.deb sudo apt install libxext6:i386 ...
2019-07-12 17:02:31 388
原创 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 8981
转载 实现序列化的两种方式Serializable和Parcelable
Serializable Serializable是Java所提供的一个序列化接口,它是一个空接口,为对象提供标准的序列化和反序列化操作 libcore/ojluni/src/main/java/java/io/Serializable.java public interface Serializable { } 通过Serializab...
2018-10-10 11:35:14 269
原创 Android AIDL 学习使用
来源:https://developer.android.com/guide/components/aidl 最近没事看了下Google对于AIDL的说明,自己理解了一下,做一下笔记,笔记中的代码都是自己敲出来的,之前自己看别人的文章服务端和客户端都在一个应用里,虽然指定了UID但是总感觉差了点,于是就自己试了一下服务端和客户端在不同的应用中的写法一 google官方说明...
2018-09-29 18:17:14 560
原创 Context学习-------Application Context源码学习
以前没有做笔记的习惯,导致在工作中遇到问题又得跟流程找代码浪费了不少时间,想了想还是做下笔记整理一下以便以后便于查找和温故以前的知识,以前看源码都是看的android 4.4的版本,现在公司的项目都是android 8.1的,变化还是很大的,刚好可以再学习一下,目前我也是在摸索中,如果有大牛看到哪里有问题欢迎指出 一 Context简介 Context在我们日常工作中...
2018-09-29 16:12:35 245
原创 Ubuntu 下使用MTK FLASH TOOLS
在使用时刚开始使用便直接报错Total wait time = -1531116139.000000USB port is obtained. path name(/dev/ttyACM0), port name(/dev/ttyACM0)USB port detected: /dev/ttyACM0Connect BROM failed: STATUS_ERRDisconnect!BROM Ex...
2018-07-09 14:27:58 7190 2
原创 android ubuntu编译环境搭建以及常用工具安装
安装git并且配置sudo apt-get install gitgit config --global user.name "your name"git config --global user.email "XXX@XXX.com"生成秘钥ssh-keygen -t rsa -C "$USER@magcomm.cn"将秘钥copy到服务器,这样在与服务器交互时不需...
2018-07-06 12:10:11 262
原创 android 8.1 VTS环境配置
一、 如何确保GSI版本的正确性,刷入方法的正确性?下载VTS,GTS,GMS的路径如下:https://support.google.com/androidpartners_gms/answer/6173316How to match correct system.img with MTK load(下载手机版本之后去aplog中ProjectConfig.mk文件中MTK_K64_SUPPO...
2018-04-26 09:47:33 4903
原创 ubuntu 17.04 jdk1.8
第一步:打开终端,添加ppa源sudo add-apt-repository ppa:openjdk-r/ppa第二步:更新源sudo apt-get update第三步:安装openjdk 8sudo apt-get install openjdk-8-jdk有点慢,视网络环境而定。第四步:配置openjdk 8为默认java环境sudo update-alternatives --config...
2018-04-25 15:42:04 413
0001-add-system-service-and-port-selinux-permission.patch
2020-03-19
busybox工具,在android里面使用的
2019-12-16
0001-E6202_FlARE_Y7_PRO-weiyawei-add-double-card-bell.patch
2019-07-31
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人