自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(58)
  • 收藏
  • 关注

转载 android Q build 变化

一 概述android Q build变化整体上越来越严格,语法上之前能够使用的Q上将不能使用。二 主要变化2.1 'USER' 弃用 ‘USER’后面的值会被设置成‘nobody',android后续的修改都是围绕着去除掉不同机器不同用户的差异,使得满足要求的任何机器或者用户编译结果相同。如果必须要使用的话,可以使用’BUILD_USERNAME‘来进行替代 ...

2019-03-12 09:08:00 894

转载 ubuntu下解压rar文件

ubuntu 下rar解压工具安装方法:压缩功能sudo apt-get install rar1解压功能sudo apt-get install unrar1使用可以直接在UI界面使用了rar x test.rar转载于:https://www.cnblogs.com/codeking100/p/10399729.html...

2019-02-19 10:58:00 172

转载 Android PAI (PlayAutoInstall)预装APK 功能

最近刚找到工作,是手机方案公司,刚接触手机系统预装的APP,以及解决方案MTK平台下预装APP的bug,也接触到了Launcher的东西。然后接触到了第一个需求PAI预装APK功能下面是我用到的帖子,也很感谢第一个博客主人,加了他QQ,问了很多东西https://blog.csdn.net/xct841990555/article/details/80896429#com...

2019-02-15 11:53:00 628

转载 预置第三方apk到MTK项目相关问题总结

目前5.0之后项目预置方式通用步骤为: 建立apk文件夹; 置目标apk到该文件夹下; 解压缩apk查看是否包含lib/文件夹(apk项目是否包含lib库文件); 在该文件夹下编写Android.mk脚本 ; 理论上apk文件夹可以建立在项目内任意目录,编译系统会自动搜索并根据其内Android.mk (编译脚本) 来进行编译。 编译系统采用的是递归搜索,在搜索到父文件目...

2019-02-15 11:51:00 126

转载 MTK Android O1平台预置apk

在MTKAndroidO1平台预置apk为可卸载时。预置到旧的路径system/vendor/operator/app会编译报错,"Youcannotinstallfilestoout/target/product/xxx/system/vendorwhilebuildingaseparatevendor.img!"改为预置到vendor/operator/app...

2019-02-15 11:51:00 649

转载 Android预置Apk方法

这一套8.0过时了 需要修改pms代码 否则apk会被pms删除掉因为工作需要,经常要开发和合入系统App,所以在此开篇作为收集和记录Android合入系统应用的方法,以备日后查阅。一、预置apk方法Case 1:如何将带源码的APK预置进系统在 packages/apps 下面以需要预置的 APK的 名字创建一个新文件夹,以预置一个名为Test的A...

2019-02-15 11:44:00 143

转载 CTS问题分析6

遇到一个Android P相关的问题,和原来CTS/GTS 问题分析1的表现是一样的,但是将 这个修复cp过来,发现不生效,仍然报错,因此记录一下问题初探测试命令: run gts -m GtsGmscoreHostTestCases -t com.google.android.gts.devicepolicy.managedprovisioning.DeviceOw...

2019-02-03 18:10:00 1105

转载 Sublime Text 3 常用插件 —— SFTP

在 Win 下常用 Xftp 软件来和远程服务传递文件,但是要是在项目开发的时候频繁的将远程文件拖到本地编辑然后再传回远程服务器,那真是麻烦无比,但是Sublime中SFTP插件,它让这世界美好了许多。Sublime下的SFTP,只要 Ctrl+S 即可同步本地到服务器。它主要功能就是通过 FTP/SFTP 连接远程服务器并获取文件列表,可以选择下载编辑、重命名、删除等等...

2019-02-03 17:56:00 100

转载 linux下可执行bin程序提示not found/no such file or directory/not executable

我们经常在执行二进制bin程序时,会遇到提示notfound/no such file or directory/not executable等错误信息,在什么情况下会出现这种问题呢,我们一起罗列下几种常见的几种场景:1.可执行bin程序确实不存在这个错误就比较低级了,你的可执行bin没有打包或者拷贝进来,执行的时候,自然找不到了2.可执行bin程序的路径不对...

2019-01-31 21:25:00 956

转载 shell判断USB接口是否有设备插入

#/bin/shusb_num=$(cat /proc/scsi/scsi | grep "Vendor" | wc -l)if [ $usb_num = 2 ];then echo "test usb success"else echo "test usb failed"fi判断USB接口是否有设备插入,usb_num为检查到的USB设备个数。转载于:https://w...

2019-01-31 21:20:00 988

转载 android adb 流程原理代码分析(一)

由于要用到adb的知识,但是对adb啥也不了解,看了下android的代码,adb的源码在system/core/adb下面,然后网上搜下了资料,发现很多大神的源码分析,瞬间信心爆棚,把大神写的博客都浏览了一遍,然后手动运行了下adb命令,顺便跟踪了下过程,发现原来还是很好的理解,源码的各种线程创建,函数回调,对于我这种基础不咋好的,,还是看的晕晕呼呼,现在把我自己的理解给大家分享,有理...

2019-01-31 21:18:00 414

转载 android默认开启adb调试方法分析

用adb调试android时,每次接入usb线,都会提示一个确认打开usb调试功能的窗口,有时候,我们需要默认打开usb调试功能。或者无需弹出对话框,直接默认开启。这个我们需要分析adb的流程了。adb认证流程如下图: 认证流程:1. 我们如果在PC端使用过adb命令,则会在当前用户目录生成一对密钥,密钥存放在.android目录,其中adbkey为私钥,a...

2019-01-31 21:16:00 712

转载 recovery 下界面UI旋转90 180 270修改

原文修改出自简书:https://www.jianshu.com/p/768fdd954061应该是MTK修改的google源码,支持recovery下屏幕旋转90/180/270, 作者把MTK的修改上传了,验证没有问,可以直接使用,多谢分享Android O恢复出厂设置时,图标和屏的方向不一致 wyman_wu...

2019-01-31 20:54:00 861

转载 sublime使用Package Control不能正常使用的解决办法

标签:Sublime作为一款非常优秀的编辑器,套用中学语文课本里一篇讲梁启超的文章里形容梁启超的一句话,就是“短小精悍”。说它“短小”,是因为它的轻量级;说它“精悍”,则得益于它那包罗万象以适用于任何开发环境的插件功能。而插件的使用,则涉及到一个叫做Package Control的东西。Package Control是一个为了方便管理插件的插件,通过它可以快捷方便的安装和卸载插件...

2019-01-31 20:52:00 73

转载 apk公钥私钥用法

每个密钥都包含两个文件:一个是扩展名为 .x509.pem 的证书,另一个是扩展名为 .pk8 的私钥。私钥需要加以保密,并用于对 apk 包进行签名。密钥本身也可能受密码保护。相比之下,证书只包含公开的一半密钥,因此可以大范围地分发。证书被用于验证某个 apk 包是否由相应的私钥进行签名。转载于:https://www.cnblogs.com/codeking100/p/10341...

2019-01-31 14:00:00 563

转载 Android getprop 读取的属性哪里来的?

Android getprop 和 setprop 可以对系统属性进行读取和设置。通过串口执行以下 geyprop 打印出来的属性让你一目了然。属性出来了,但是在哪里设置的呢,这里有两个地方:一个是配置文件读取的,一个是系统动态获取的1、在android源码目录下的:system/core/init/property_service.c 文件中的函数stat...

2019-01-31 11:06:00 527

转载 getprop从哪获取属性

Android SystemProperties设置/取得系统属性的用法总结通过调查得知,Android系统中取得/设置系统属性的用法参考以下3篇文章就足够了。1.Android SystemProperties简介介绍了设置属性需要的权限,已经设置权限的方法。Systemproperties类在android.os下,但这个类是隐藏的,上层程序开发无...

2019-01-31 11:05:00 462

转载 SELinux app权限配置

摘要:1.SEAndroidapp分类SELinux(或SEAndroid)将app划分为主要三种类型(根据user不同,也有其他的domain类型):1)untrusted_app第三方app,没有android平台签名,没有system权限2)platform_app有android平台签名,没有system权限3)system_app有android平台签名和syste...

2019-01-31 10:56:00 412

转载 Makefile中通过sed命令生成文件系统的selinux的配置文件vendor_filesystem_config.txt

今天在编译android-O(8.0)的时候,我自己新增加了一个ext4格式的分区,在编译这个分区的时候,需要对应的生成文件系统的配置文件xxxx_filesystem_config.txt,发现了生成这个配置文件的的Makefile里面,调用了sed命令来处理一些字符串:build/core/Makefiledefine fs_config(cd $(1); find...

2019-01-31 10:51:00 641

转载 python 正则表达式中反斜杠(\)的麻烦和陷阱

这里是一点小心得:由于下面两个原因,在正则表达式中使用反斜杠就会产生了一个双重转换的问题。 (1)、python自身处理字符串时,反斜杠是用于转义字符(2)、正则表达式也使用反斜杠来转义字符要匹配字符串中1个反斜杠应该怎么写正则表达式?"\\",这样行吗?试试就知道了,re模块抛异常了,因为在正则表达式中,"\\"就是一个反斜杠,对于正则表达式解析器来说,是一个转义...

2019-01-31 10:48:00 371

转载 android修改getprop读取到的ro.build.fingerprint属性

在build/tools/buildinfo.sh中定义ro.build.fingerprint=$BUILD_FINGERPRINT.然后在build/core/Makefile中给BUILD_FINGERPRINT赋值但这里确定的是手机system/build.prop中的ro.build.fingerprint,是编译时决定的getprop读取到的ro.build...

2019-01-31 10:45:00 2896

转载 正则表达式匹配两个特殊字符中间的内容

今天在使用正则表达式中,要匹配两个字符中间的内容,一时没有写出来,后来在网上找到了,记录一下。匹配两个字符串A与B中间的字符串包含A与B:表达式:A.*?B(“.“表示任意字符,“?”表示匹配0个或多个)示例: Abaidu.comB结果: Awww.apizl.comB匹配两个字符串A与B中间的字符串包含A但是不包含B:表达式:A.*?(?=B)示例: Awww.ap...

2019-01-31 10:03:00 890

转载 android build 编译打印详细过程

我们在makeotapackage编译android代码的时候,有时候需要跟踪详细的过程,包括所有的过程,可以修改build/core/Makefile,赋值hide := 为空即可转载于:https://www.cnblogs.com/codeking100/p/10340631.html...

2019-01-31 09:50:00 161

转载 recovery 升级前兼容性检查(Vendor Interface Object)

从android P(9.0)版本开始,我们发现编译出来的OTA升级了里面多了一个文件,compatibility.zip,这个里面存储这system与vendor分区的一些特性,用来做升级前的兼容性检查。其实从android O开始已经增加了这个功能,但是没有默认打开。直到android P上,已经默认打开了。解压compatibility.zip后,内容如下:我们先从...

2019-01-31 09:47:00 901

转载 recovery 界面汉化过程详解

一. 主要是针对recovery汉化,主要汉化对象是界面显示为中文。二. 基于中文的汉化,有两种方式,一种是基于GB2312的编码格式汉化,另外一种是基于unicode编码格式汉化。下面介绍unicode中文汉化。三. 汉化主要需要修改四个文件,汉化步骤: 3.1default_device.cpp修改,主界面汉化 ...

2019-01-31 09:45:00 1006

转载 recovery&linux系统升级数据更新分析总结

先说说对升级的理解吧。系统升级是软件更新及BUG修复的主要方式,升级的主要原理就是数据搬移的过程,把我们需要的数据,从某个地方,更新到另外的一个地方。这个过程就叫做升级。一般是当我们系统有了新的功能增加,或者是现有的功能出现缺陷或者漏洞无法正常运行时,我们需要进行系统升级。最终达到修复系统缺陷漏洞,增加新功能的目的。 从升级的方式来看,升级主要分为两大类,本地升级及远程升...

2019-01-31 09:44:00 104

转载 recovery 强制执行恢复出厂设置(Rescue Party)

有时候我们在系统正常运行的时候,突然跑到recovery里面了,并且停在了如下界面:Can't load Android system. Your data may be corrupt.If you continue to get this message, you may need toperform a factory data reset and erase...

2019-01-30 18:01:00 1975

转载 recovery 恢复出厂设置失败Data wipe failed

最近客户反馈,编译32位的android系统,在recovery中执行恢复出厂设置的时候失败了,失败的打印提升信息如下。Formatting /data...[ 2.191404] E:get_file_size: invalid size -1289764864 for /dev/block/data[ 2.207430] Data wipe failed....

2019-01-30 17:52:00 1230

转载 system.img镜像转换为system.new.dat + system.transfer.list

android 8.1上面验证,支持所有的android版本,直接放到sdk中执行即可。img2sdat.py#!/usr/bin/env python#coding=utf-8import sysif sys.hexversion < 0x02070000:print >> sys.stderr, "Python 2....

2019-01-30 17:45:00 496

转载 system.transfer.list版本进化

从android5.0开始之后,recovery升级包中不再升级system.img,而是升级system.new.dat+system.transfer.list的这种文件组合,经过android版本的不断进化,transfer的版本也在不断的升级,目前已经发展到了版本4,从android-Landroid-Mandroid-Nandroid-O的过程,transfer进...

2019-01-30 17:44:00 139

转载 system.transfer.list深度解析

system.transfer.listsystem.new.dat很明显,通过名字我们就知道这两个文件的作用,system.new.dat为数据部分,system.transfer.list为转换的描述列表,我们可以通过这两个文件完成升级。我们打开一个升级包的升级脚本META-INF\com\google\android\updater-scriptblock_i...

2019-01-30 17:43:00 300

转载 recovery 升级界面顶部花屏问题分析

说明: 实际解决问题的过程有点曲折,后面找到原因,分析清楚问题后,总结下正确的分析方法,大致分析流程如下。问题描述: 在进入recovery的时候,第一次上电进入recovery时,顶部会有一长条花屏,如下图所示。 问题分析: 通过出现花屏的时间点,我们判断,出现花屏的时候,已经进入了recovery系统,那么出现花...

2019-01-30 17:41:00 272

转载 recovery 升级过程LED灯闪烁

Android设备在进入recovery升级的过程,我们在屏幕上面可以看到升级的机器人动画,以及升级的进度显示。这仅限于有屏幕的设备,比如平板PAD,电视TV等,对与没有屏幕的盒子BOX,那么在不接入输出设备的时候,升级过程无法可视化的显示,所以就有了这个需求,在升级过程,通过控制面板LED等的闪烁,来告知用户,正在升级,升级完成等状态。我们添加这个功能,需要分两个步骤:...

2019-01-30 17:39:00 274

转载 recovery 差分升级包制作超时

我们在对android系统升级的时候,可以减少升级包的大小,只升级差异部分,也就是差分包升级,相关的描述可以参考:http://blog.csdn.net/csdn66_2016/article/details/70256757 我们在对两个不同的文件进行差分的时候,使用到了两个工具,分别是imgdiff与bsdiff,通过这两个工具产生差异部分的patch,升级的时候打pat...

2019-01-30 16:27:00 54

转载 recovery 升级过程执行自定义shell命令

有时候我们需要,在升级的过程中,执行一些shell命令,来完成我们的一些需求,利用升级过程,进行一些特殊化的操作,思路如下:第一: 把我们需要执行的命令,写成一个test.sh脚本,然后在recovery串口环境下,source test.sh,保证我们的sh能够正常运行。第二: 把test.sh打包到升级包update.zip的根目录中去,主...

2019-01-30 16:26:00 278

转载 recovery log直接输出到串口

我们在调试recovery升级的时候,我们经常需要查看recovery的log,google的原始逻辑中,recovery的log并非直接输出到串口,我们需要输入命令才能获取,我们有三种方式: 第一种:recovery下,遥控器选择view recovery logs,界面上查看。 第二种:recovery下,输入命令,cat /tmp/recovery.log...

2019-01-30 16:25:00 151

转载 android recovery代码修改之原生建议

我们都知道recovery升级的时候,是根据升级脚本updater-script里面的函数,去一步步执行的,比如mount,format等相关的操作,有时候我们需要增加一些自己特殊的更新的接口,这时候就可能需要再单独封装一个函数接口,我所知道的,绝大多数的开发者,都是直接在bootable/recovery/updater/install.cpp里面的RegisterInstallFu...

2019-01-30 16:13:00 178

转载 android recovery 升级UI显示之资源文件

Recovery只有在升级的时候才会呈现给用户,所以界面一般都很简单,没有android上层那么绚丽,所以recovery下面对图片的支持很有限,仅支持png图片显示,所以我们可以看到,recovery下面所有的背景以及提示信息,都是以png格式图片的资源文件存在。一般的厂商都会觉得,原生的机器人很low,都会重新整理一套升级显示的UI,但并非所有的png图片recovery都是支持的...

2019-01-30 16:10:00 168

转载 android recovery 升级之USB设备挂载

Recovery升级过程,通常会从两个地方获取升级包update.zip升级,一般在线升级,会把升级包下载到cache分区,本地升级会从usb或者tf卡中升级。本文讨论下,本地USB升级时,无法挂载USB设备的问题。 无法挂载USB设备的时候,可以按照以下流程分析:4.1 手动挂载 我们先确定是否能够手动挂载USB设备 busybox moun...

2019-01-30 15:27:00 610

转载 android recovery升级过程中掉电处理

一般在升级过程,都会提示用户,请勿断电,不管是android的STB,TV还是PHONE,或者是其他的终端设备,升级过程,基本上都可以看到“正在升级,请勿断电”,然后有个进度条,显示升级的进度。 但是从系统安全的角度考虑,如果用户真断电了,我们仍然需要能够从异常掉电的情况中,恢复系统或者继续升级。 我们先理解下recovery的过程,我们升级过程,其实分为两个阶...

2019-01-30 15:25:00 842

空空如也

空空如也

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

TA关注的人

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