![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
android
文章平均质量分 73
曹禺
聚焦软件,关注硬件。
一天一个点滴,记录技术沉淀。
学习语言: java, c/c++, pytho
行业方向: Android,AI
现在开始加油吧!!!
展开
-
security patch地址
CVE -CVE-2021-0706CVE® is a list of records — each containing an identification number, a description, and at least one public reference — for publicly known cybersecurity vulnerabilities. The mission of the CVE Program is to identify, define, and catalog原创 2022-01-05 15:23:01 · 318 阅读 · 0 评论 -
记录一次《低电下边充电边视频通话电量基本没有增加》
从event日志来看电池电量变化:整个过程,05-19 19:37 到 05-19 20:11半个多小时电流基本一直在掉,未见明显增加 Line 17815: 05-19 19:37:59.236 1517 10720 I battery_level: [12,3532,338] Line 18340: 05-19 19:40:06.264 1517 1769 I battery_level: [11,3606,330] Line 18401: 05-19 19:41:09.7...原创 2021-12-01 17:33:49 · 368 阅读 · 0 评论 -
android Q 深色主题
今天分享第一个深色主题。1,简介:Android 10 (API level 29) 及更高版本中提供深色主题背景。深色主题背景具有诸多优势:1,可大幅减少耗电量(具体取决于设备的屏幕技术)。2,为弱视以及对强光敏感的用户提高可视性。3,让所有人都可以在光线较暗的环境中更轻松地使用设备。深色主题背景同时适用于 Android 系统界面和在设备上运行的应用。在 An...原创 2019-11-20 09:30:36 · 497 阅读 · 0 评论 -
android关机闹钟慢一分钟问题
关于android关机闹钟慢一分钟问题,本质原因在于,android开机比较慢,正常开机在到锁屏基本都是一分钟了,故关机闹钟慢一分钟。其实在mtk原生闹钟不存在这个问题,mtk alarm在alarm模式不完全开机就响闹。而我们xtime闹钟必须先开机才行,不开机不能正常读取xtime指定的闹钟铃声。 解决策略有几个: 1. 提高开机速度 ...原创 2018-03-29 09:38:23 · 924 阅读 · 0 评论 -
android jni和ndk (一 ) eclipse版本实现
一下是用eclipe ide实现的ndk开发的jni的例子。目录结构如下:E:.├─.settings├─assets├─bin│ ├─classes│ │ ├─android│ │ │ └─support│ │ │ └─v7│ │ │ └─appcompat│ │ └─com│ │ └─example│ │ └─...原创 2018-05-03 17:55:56 · 186 阅读 · 0 评论 -
android的make中的变量赋值注意事项
在makefile(*.mk/mak)文件中WITH_DEXPREOPT := truetrue后面一定不能有空格,不能有#注释等,注释可以写上一行。包括在projectconfig.mk中的:eg:MTK_NLP_SUPPORT = yes一定不能在yes后面出现空格或注释。不然宏不能生效。 ...原创 2018-10-30 14:23:44 · 433 阅读 · 0 评论 -
上GP的标准和check
发包前请先看下:1.APK需经过Zipalign工具处理2.应用的最低目标 API 级别调整为 263.不能上传可调试的APK,需先停用APK的调试功能如果是ads,第一、三点只要是编译的release版本都会是对齐和去掉android:debuggable属性的。第二点,在defaultConfig的minSdkVersion修改成26以上compileSdkVersion...原创 2018-10-30 15:08:28 · 292 阅读 · 0 评论 -
关于sdcard异常问题分析
在个别手机项目中进程可以见到sdcard不识别,sdcard已损坏等问题该问题分析方法,一般都是底层问题巨多。在kernel log中可以搜索 msdc 关键字。在android main 或system log中搜索vold 和mountservice。例如1.sdcard已损坏的问题在上层查到:04-04 10:46:44.484937 225原创 2018-04-10 17:54:54 · 3859 阅读 · 0 评论 -
GMS认证-Android VTS测试
GMS认证-Android VTS测试 Darkt 关注2018.01.22 21:17* 字数 1021 阅读 649评论 6喜欢 41、VTS简介VTS的全称是 Vendor Test Suite(供应商测试套件)。为何引入VTS测试?目前Android的系统升级是很麻烦的,为了能更快的将设备升级到新的Android版本,Android O 开始新引入了 Project Treble,Proj...转载 2018-03-26 17:39:15 · 2482 阅读 · 2 评论 -
GMS认证-Android8.x新增cts测试(VTS下测试GSI版本)
https://www.jianshu.com/p/3b1fbefc93aeGMS认证-Android8.x新增cts测试(VTS下测试GSI版本) Darkt 关注2018.01.25 12:36* 字数 460 阅读 641评论 25喜欢 2Android 8.0之后,由于平台架构的更改,GMS认证增加了新的测试项,包括VTS和针对GSI版本的CTS测试,本文主要介绍Android8.1针对G...转载 2018-03-26 17:38:01 · 6217 阅读 · 2 评论 -
GMS认证-Android8.1认证新特性与要求
https://www.jianshu.com/p/20c96d2957a7本文主要说明Android8.1过GMS认证的一些新特性和新要求。新增测试Android7.x以及之前的版本,如果要过GMS认证,只需要完成CTS测试、GTS测试和CTS Verifier,如果全部通过,将软件送给google授权的实验室即可。Android8.0以后,除了要完成默认版本的CTS测试、GTS测试和CTS V...转载 2018-03-26 17:30:21 · 2622 阅读 · 1 评论 -
vts 8.1项目测试全部fail原因
vts 8.1项目测试全部fail原因 8.1的机器跑起来一跑全部出错。 全部是Fail to launch shell driver service XXX 显然是有哪里不对导致的。 由于我司没有mtk支持,无法去咨询mtk。故各方查找资料发现,需要把GSI的system.img刷入到测试目标机器。当时有的资源system_aosp_arm64_ab.tar.gz,刷入n...原创 2018-02-28 15:49:00 · 2211 阅读 · 0 评论 -
vts8.1中adb充电模式连接不上问题,mtp模式可以
vts8.1中adb充电模式连接不上问题,mtp模式可以1. 公司有点就电脑adb version显示1.0.32 ,这个对android N 7.0的系统,在充电模式,是可以正常连接adb的。8.1的机器连不上。发现1.0.36可以连上,然后查询谷歌开发者文档显示需要adb版本1.0.39,那么直接翻墙,升级到1.0.39 。2.升级完发现adb devices有手机串号显示出现。但是提示没pe...原创 2018-02-28 13:59:45 · 709 阅读 · 0 评论 -
闹钟DeskClock缅甸语显示不全问题分析
先上图该界面通过操作 闹钟点击 设置闹钟弹出来的对话框,点击操作是AlarmTimeClickHandler.java 中onClockClicked方法: public void onClockClicked(Alarm alarm) { mSelectedAlarm = alarm; //wanlihua TimePickerCompat.showTime原创 2018-01-18 11:32:10 · 605 阅读 · 0 评论 -
adb shell相关命令 --- 持续更新
1.查看apk在什么路径下,当然也可以check是否安装C:\Users\wanlh-os>adb shell pm path com.qiku.android.filebrowserpackage:/system/app/XX_FileBrowser/KK_FileBrowser.apk2. dumpsys包相关信息,也可以check包是否安装C:\Users\wanlh-...原创 2018-11-20 15:46:24 · 750 阅读 · 0 评论 -
关于android多用户
1, 获取支持多少用户pm get-max-user2,用户相关的am pm指令We can use pm command to add/remove user also.pm create-user [--profileOf USER_ID] [--managed] [--restricted] [--ephemeral] [--guest] USER_NAME...原创 2019-09-20 17:00:21 · 560 阅读 · 0 评论 -
android studio3 多渠道打包及编译速度优化等
直接看codemodule app build.gradleapply plugin: 'com.android.application'android { compileSdkVersion 28 defaultConfig { applicationId "com.example.wlh.androidencrypt" minSdk...原创 2019-07-06 15:20:56 · 1049 阅读 · 0 评论 -
android studio中导入源码编译的framework.jar
https://blog.csdn.net/abs625/article/details/79611411一、找到源码环境下编译好的framework.jar这里以mtk平台为例,生成的jar目录为:out\target\common\obj\JAVA_LIBRARIES\framework_intermediates\classes-full-debug.jar二、将生成的jar包放入...转载 2019-07-05 15:27:59 · 483 阅读 · 0 评论 -
让Android Studio支持系统签名(证书)
原文链接让Android Studio支持系统签名(证书)前言有时候,我们开发的apk需要使用到系统权限,需要在AndroidManifest.xml中共享系统进程的属性:android:sharedUserId="android.uid.system"android:sharedUserId="android.uid.shared"android:sharedUser......转载 2019-10-11 19:14:28 · 1689 阅读 · 0 评论 -
很棒开发工具
https://github.com/skyseraph/Soft-Tools原创 2019-06-30 14:34:01 · 85 阅读 · 0 评论 -
android常用github
继续更新添加大神的github,跟大神一起学习app架构师:https://github.com/SkySeraph-XKnifeme:https://github.com/wanlihua2006原创 2019-06-30 14:30:25 · 119 阅读 · 0 评论 -
android开源库选用
from SkySeraph常用的开源库组件库 分常用工具,通用组件和ui控件常用工具包括:1,文件相关 2,字符串相关 3,设备相关 4,图片处理相关 5,UI相关 6, 专用模块 7,辅助工具Utils工具类:1,XUtils2,android-common3,AndroidUtilCode...原创 2019-06-30 14:07:49 · 68 阅读 · 0 评论 -
如何确定问题是否与selinux相关
一, 如何看问题是否与SELinux 相关?1. 将SELinux 调整到Permissive 模式测试.将SELinux 模式调整到Permissive 模式,然后再测试确认是否与SELinux 约束相关.ENG 版本:adb shell setenforce 0如果还能复现问题,则与SELinux 无关, 如果原本很容易复现, 而Permissive mode 不能再复现, 那么就...原创 2019-05-04 12:17:59 · 577 阅读 · 0 评论 -
selinux
1. Add new service started by init▪情景: 定义一个init 启动的service, demo_service, 对应的执行档是/system/bin/demo.▪(1). 创建一个demo.te 在/device/mediatke/common/sepolicy 目录下, 然后在/device/mediatke/common/BoardConfig....原创 2019-05-04 11:54:47 · 352 阅读 · 0 评论 -
selinux常用命令
1. getenforce和 setenforce2. chcon 用来改变文件的安全上下文chcon example_t adb.txt3. restorecon用来回复文件或目录的安全上下文未系统原始设置。原创 2019-04-25 19:06:36 · 339 阅读 · 0 评论 -
【量产_冒烟】不断灭屏画手势出现系统优化界面
【量产_冒烟】不断灭屏画手势出现系统优化界面【初始条件】手机正常【操作步骤】进入设置-智能控制-开启各个手势唤醒功能,不断灭屏画手势【实际结果】会出现系统优化界面【预期结果】不应出现系统优化界面在设置pin密码锁的情况下,照理这时候不能解锁,更不会出现出现系统优化界面。 分析log,先看到e原创 2018-01-10 18:34:17 · 701 阅读 · 0 评论 -
android 8.1 vts环境和测试
VTS 测试,首先需要搭建测试环境,我们需要以下这些组件: 64-bit Ubuntu Linux Java 8Python 2.7 ADB 1.0.39具体的搭建步骤是: 安装Java8(JDK8)sudo add-apt-repository ppa:webupd8team/javasudo apt-get updatesudo apt-get inst原创 2018-02-02 16:13:47 · 2935 阅读 · 0 评论 -
mtk android.mk --> android.bp
mtk android.mk --> android.bp例如\frameworks\base\media\jni 由7.0的android.mk转换成android.bp .首先从Soong说起,Soong是Android中对基于GNU make的编译系统的替代物,编译文件“Android.mk”被替换为“Android.bp”。bp文件的目的就是一切从简,格式类似于JSON,像转载 2018-01-09 16:14:01 · 2219 阅读 · 0 评论 -
使用布局(layout)资源
使用布局(layout)资源layout资源放置在res/layout目录下,xml访问方式:@[:]layout/file_namejava访问方式:[.].R.layout.原创 2017-11-14 11:41:45 · 1033 阅读 · 0 评论 -
使用xml菜单资源
使用菜单资源java可以实现android菜单,但是android推荐使用xml来定义菜单,使用xml更好的解耦。一,定义 菜单资源菜单资源放置在res/menu目录下,根元素,元素无需指定任何属性。包含如下子元素:1. 元素:定义菜单项2.子元素: 将多个item定义的菜单包装成一个菜单组 子元素由于控制整组菜单的行为,该元素可制原创 2017-11-14 14:56:53 · 443 阅读 · 0 评论 -
使用原始的XML资源
6.5使用原始的XML资源在某些时候,android应用有些初始化的配置信息,应用相关的数据资源需要保存,一般推荐使用xml文件来保存它们,这种资源就被成为原始XML资源。6.5.1 定义原始xml资源 原始的XML资源一般报存在res/xml路径下,当使用adt创建android应用时,res目录下并没有包含xml目录,开发者需要自行手动创建一个xml目录。原创 2017-10-31 10:16:17 · 560 阅读 · 0 评论 -
AnimationDrawable资源的使用
AnimationDrawable资源AnimationDrawable代表一个动画,关于动画在后续还有更多实现方式 。Android既支持传统的逐帧动画(类似于电影方式,一张涨图片快速切换),也支持平移,变换计算出来的额补间动画。定义补间动画的xml组员文件是元素做根元素,该元素内可以指定4个元素。1.alpha : 设置透明度的改变2.scale: 设置原创 2017-11-14 11:17:43 · 425 阅读 · 0 评论 -
ClipDrawable资源使用
ClipDrawable资源ClipDrawable代表从其他位图上截取的一个“图片片段”。在xml文件中定义了ClipDrawable对象使用元素,该元素的语法为:<clip xmlns:android="http://schemas.android.com/apk/res/android"android:drawable="@drawable/drawa原创 2017-11-13 19:56:34 · 415 阅读 · 1 评论 -
ShapeDrawable资源
ShapeDrawableShapeDrawable用于定义一个基本几何图形(正方形,圆形,线条),定义ShapeDrawable的xml文件的根元素元素,该元素可制定如下属性:1.android:shape = ["rechangle" | "oval" | "line" | "ring" ]my_shape_1.xml原创 2017-11-13 18:51:50 · 229 阅读 · 0 评论 -
LayoutDrawable资源
LayoutDrawable资源与StatuslistDrawable有点类似,LayerDrawable也可以包含一个Drawable数组,因此系统将会按这些Drawable对象的数组顺序来绘制它们,索引最大的Drawable对象将会被绘制在最上面。xml的根目录为,该元素可以包含多个 元素该元素可以制定如下属性:android:drawable : 指定未做layerD原创 2017-11-13 14:21:26 · 272 阅读 · 0 评论 -
android一些属性值 mtk和高通一些差异
同样的都有 1.sys.xxx.xxx 2.persit.xxx.xxx3. settingdb值方式 4.在framework/base/core/res/res/value/config.xml写入一些配置值5.通过 ro.XXX值不同的:mtk喜欢定义一个功能宏,在projectconfig.mk 定义,当然会在device.mk在转换成ro值高通在原创 2017-11-02 14:45:45 · 777 阅读 · 0 评论 -
判断外置存储
判断外置存储public static final String KEY_WRITE_DISK_ITEM = "/storage/";private static final String USB_STORAGE_PATH = "/mnt/usbotg";mExternalSDPath = StorageManagerEx.getExternalStor原创 2017-10-31 10:52:36 · 236 阅读 · 0 评论 -
多媒体 使用MediaRecorder录制音频
多媒体 使用MediaRecorder录制音频android提供了MediaRecorder类。使用MediaRecorder录制音频的过程很简单,步骤如下:1. 创建MediaRecorder对象2. 调用MediaRecorder对象的setAudioSource()方法设置声音来源,一般传入MediaRecorder。AduioSource.MIC 参数指定mic的声音。3. 调用Med原创 2017-11-10 17:13:45 · 267 阅读 · 0 评论 -
多媒体 录制视频
多媒体 录制视频MeidaRecorder除了可用录制音频之外,还可用于录制视频。使用MeidaRecorder录制视频与录制音频的步骤基本相同。只是录制视频是不仅需要采集声音,还需要采集图像。为了让MediaRecorder录制时采集图像,应该在调用setAudioSource(int audio_source)方法是在调用setVideoSource(int video_source)原创 2017-11-10 17:11:50 · 257 阅读 · 0 评论 -
多媒体 camera 拍照
多媒体 camera 拍照Android应用提供Camera来控制拍照,按如下步骤:1. 调用Camera的open()方法打开相机2.调用Camera的getParameter()方法来获取拍照参数。该方法返回一个Camera.Parameter对象3.调用Camera的SetParameter(),并将Camera.Parameter对象作为参数传入,这样可以控制相机的参数原创 2017-11-10 17:05:43 · 592 阅读 · 0 评论