自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

wyw1015

日常工作学习笔记

  • 博客(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

原创 Android P版本添加双卡铃声

1 添加ro.config.ringtone_sim2值作为默认SIM2的铃声

2019-07-31 17:16:12 840

原创 为新摄像头添加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

ubuntu下openjdk7 openjdk8

ubuntu下使用的openjdk7 openjdk8

2022-04-24

0001-add-system-service-and-port-selinux-permission.patch

添加系统服务以及相关selinux权限,添加可执行文件以及selinux权限,基于android 7.0 是一份git的patch,主要包含上面两部分

2020-03-19

busybox工具,在android里面使用的

在android端使用busybox工具,可将附件的busybox复制到手机的system/xbin/目录下,修改权限之后就可以使用busybox,这样可以使用在android上很多linux命令

2019-12-16

0001-E6202_FlARE_Y7_PRO-weiyawei-add-double-card-bell.patch

android P版本添加双卡铃声的提交记录,便于后续整理。

2019-07-31

CameraMetadata _ Android开发者.html

google官方文档,有时候没有外网的可以看一下,坐下备份

2019-07-31

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除