![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
android
研究员的自我修养
这个作者很懒,什么都没留下…
展开
-
基于Android 12的 oemnetd 定制化实例
netd 在接口定制中随着Android 平台的升级 控制的更加严格平台为了达到stable 的效果。对我们来说 ,应该在可控的前提下进行开发从代码中 我们看到预留了oem定制的接口 不受netd版本的限制。基于没有太多资料介绍 oemnetd 开发。此文基于Android 12 S版本对此进行了简单介绍。原创 2022-10-24 13:47:11 · 1864 阅读 · 1 评论 -
Android 系统 预装应用 bp makefile示例
android 应用 预置到系统中。 在之前的开发者使用的都是andorid.mk来做makfile.为了顺应发展。 切换到android.bp 是有意义的。原创 2022-10-12 09:13:47 · 922 阅读 · 0 评论 -
问题分析:Framework level App的android:screenOrientation 问题解决
问题描述系统打开自动转屏, app中设置 android:screenOrientation="portrait"为0度(竖屏) 实测 app仍然随着手机转动而转动问题分析通过观察此手机 的独特性是其屏幕尺寸 长宽相等 是个square方屏。问题解决代码中的问题 记录如下frameworks/base/services/core/java/com/android/server/wm/DisplayContent.java /** * If this is true,原创 2022-05-08 13:32:30 · 916 阅读 · 0 评论 -
android app Service使用LiveData
Service 使用liveData原创 2022-01-23 15:47:41 · 3094 阅读 · 0 评论 -
如何正确获取 wifi mac地址
获取wifi mac地址今日研读讯飞 AIUI SDK 对其工具类的实现 进行一下简单记录 正式版本中使用的功能 值得我们借鉴getWifiMac为每一个设备设置对应唯一的SN(最好使用设备硬件信息(mac地址,设备序列号等)生成),以便正确统计装机量,避免刷机或者应用卸载重装导致装机量重复计数/** \* 获取Wifi Mac 默认值空字符串 * \* @param paramContext \* @return */ public static St原创 2021-12-01 15:32:30 · 5136 阅读 · 1 评论 -
Android Studio gradle 自定义签名设置
Android Studio gradle 签名设置如何使用自定义签名文件?在项目的build.gradle中 设置示例android { ... signingConfigs{ debug{ storeFile file("../config/debug.keystore") } release { storeFile file("MyKeyStore.jks")原创 2021-11-26 11:29:27 · 1445 阅读 · 0 评论 -
串口基础知识
概述串口通信(Serial Communications):串口按位(bit)发送和接收字节。与串行通信相对的是并行通信。如下图所示:在串行通讯时,要求通讯双方都采用一个标准接口,使不同的设备可以方便地连接起来进行通讯。RS-232-C接口(又称EIA RS-232-C)是目前最常用的一种串行通讯接口。RS232基础知识RS-232-C是美国电子工业协会EIA(Electronic Industry Association)制定的一种串行物理接口标准。RS是英文“推荐标准”的缩写,232为标.原创 2021-10-11 17:02:59 · 1953 阅读 · 0 评论 -
记录一个Android系统应用MotoActions的移植
背景今天 浏览 LineageOS相关 发现一个系统测试应用MotoActions。 准备移植到现有系统中issue由于Android OS 不同 移植中遇到问题,本文基于android 9 验证记录一下fix过程0 原文件LOCAL_PATH:= $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE_TAGS := optionalLOCAL_SRC_FILES := $(call all-java-files-under, src)LO.原创 2021-09-29 17:01:31 · 339 阅读 · 0 评论 -
Android 设备管理概览-DevicePolicyManager
背景Android 通过提供 Android Device Administration API 来支持企业应用。该 Device Administration API 在系统级别提供设备管理功能。借助这些 API,您能够创建在企业环境中非常实用的注重安全性的应用;在企业环境中,IT 专业人员需要有力地对员工设备进行控制。例如,内置的 Android 电子邮件应用利用这些 API 改善了对 Exchange 的支持。通过电子邮件应用,Exchange 管理员可以跨设备强制执行密码政策(包括字母数字密码原创 2021-09-27 14:17:25 · 1306 阅读 · 0 评论 -
瑞芯微RK3566 简单介绍与Android11.0 固件编译
rockchip RK3566瑞芯微 RK3566 四核 64 位Cortex-A55 处 理 器 , 主 频 最 高1.8GHz,效能有大幅提升;采用22nm先进工艺,具有低功耗高性能的特点。瑞芯微RK3566芯片是一款专为消费类行业应用打造的通用型SoC。CPU采用4核A55架构处理器,集成G52图形处理器,内置独立的NPU,运行安卓11和Linux系统。RK3566主要面向平板电脑、带屏音箱、安卓笔电、词典笔等消费类产品定制,以及人脸支付POS机、电子书、云终端、视频话机、 NAS存储等行业产品原创 2021-09-25 09:08:29 · 7179 阅读 · 0 评论 -
Android UX字体单独加载与设置的举例说明
界面的字体设置在开发中 如果需要设置特殊的字体 应该如何操作在这里给家人们举个例子呀assert 预置字体写一个字体设置的接口public final class Functions { public static void setFont(Context context, TextView textView, String font) { textView.setTypeface(Typeface.createFromAsset(context.getAssets(原创 2021-09-17 17:14:32 · 120 阅读 · 0 评论 -
Android app如何使用 有效运动传感器
背景今天有对设备的运动 跌落的检测这里简单的了解了系统的传感器接口 有如下几个接口 对大家进行推荐Android 平台提供多种传感器,可让您监视设备的运动。传感器的可能架构因传感器类型而异:- 重力、线性加速度、旋转矢量、有效运动、计步器和步测器传感器可能基于硬件,也可能基于软件。- 加速度计传感器和陀螺仪传感器始终基于硬件。大多数 Android 设备都配有加速度计,而现在许多设备都带有陀螺仪。基于软件的传感器的可用性更具可变性,因为其通常依赖一个或多个硬件传感器来获取其数据。根据设原创 2021-09-17 14:32:28 · 974 阅读 · 1 评论 -
anddroid 11 NetworkManagementService接口setFirewallUidRule 变化分析
背景android 11的接口setFirewallUidRule 使用中 发现设置有问题对比了下新系统流程找到变更流程分析INetworkManagementService.aidl void setFirewallUidRule(int chain, int uid, int rule); void setFirewallUidRules(int chain, in int[] uids, in int[] rules);NetworkManagementServic原创 2021-09-15 08:51:42 · 956 阅读 · 3 评论 -
android 10 , android 11 预置系统应用权限开启分析
android 10 , android 11 预置系统应用权限开启分析今天遇见的问题: 预装的应用 打开之后 申请了动态权限。 客户要求默认授予 优化体验所以 问题就变成了 系统应用的权限如何默认开启分析通过源码分析 在frameowork中 有专门的Grant permmsion机制android 10DefaultSystemDialerApp为例 观察流程frameworks/base/services/core/java/com/android/server/pm/permis原创 2021-09-14 13:58:29 · 3147 阅读 · 6 评论 -
Android 8 app 使用QcRilHook 分析
Android 8 app 使用QcRilHook 分析如果需要在app中使用 QcRilHook 获取 高通的NV值 你需要如下操作Android.mkLOCAL_JAVA_LIBRARIES := qcrilhook2 AndroidManifest.xml<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.qualcomm.qti.phonefeature"原创 2021-09-13 15:46:13 · 876 阅读 · 2 评论 -
android adb/linux中如何新建文件
文章目录android adb/linux中如何新建文件使用touch命令创建文件使用cat命令创建文件使用echo命令创建文件android adb/linux中如何新建文件使用touch命令创建文件touch[命令]可以让我们来更新现有的文件和目录以及创建新的空文件的时间戳touch file1.txt使用cat命令创建文件cat命令主要用于读取和连接文件,但它也可以用于创建新的文件2. cat > file1.txt使用echo命令创建文件所述echo命令的标准输出,其传递原创 2021-09-13 14:34:50 · 983 阅读 · 0 评论 -
Android Hook 插件化编程学习 - 通过反射添加逻辑
文章目录Android Hook 插件化编程入门 - 通过反射添加逻辑基本思路案例分析总结Android Hook 插件化编程入门 - 通过反射添加逻辑基本思路根据需求 确定要hook的对象案例分析给一个button设置了点击事件,在不改动这个点击事件的情况下,添加额外的点击事件逻辑.具体来讲:原有程序点击button 显示toast"点击有惊喜", 通过hook 使显示内容发生变化原程序: setContentView(R.layout.activity_ma原创 2021-09-10 16:13:49 · 138 阅读 · 0 评论 -
pinyin4j 使用 -android端的简单实践
pinyin4j 使用 -android端的简单实践pinyin4j的主页:http://pinyin4j.sourceforge.net/pinyin4j是一个支持将中文转换到拼音的Java开源类库 1.支持简体中文和繁体中文字符 2.支持转换到汉语拼音,通用拼音, 威妥玛拼音(威玛拼法), 注音符号第二式, 耶鲁拼法和国语罗马字 3.支持多音字,即可以获取一个中文字符的多种发音 4.支持多种字符串输出格式,比如支持Unicode格式的字符ü和声调符号(阴平 “ˉ”,阳平"ˊ",上声原创 2021-09-06 10:48:42 · 991 阅读 · 0 评论 -
Netty Client的简单封装
Netty Client的简单封装Netty 基于java NIO 网络通信框架,具有高效、简单、快速的应用特点。Netty ClientNettyClientNettyClientManagerpublic class NettyClient { public static final int Port = 8888; public static final String IP = "192.168.0.100"; private NioEventLoopGrou原创 2021-09-06 10:20:00 · 2577 阅读 · 0 评论 -
andorid app设置系统铃音- 反射
利用java 反射 设置系统铃音系统来电的铃音app是无法修改的//android/frameworks/base/media/java/android/media/Ringtone.java @UnsupportedAppUsage private MediaPlayer mLocalPlayer; private final MyOnCompletionListener mCompletionListener = new MyOnCompletionListener();原创 2021-09-06 08:55:43 · 163 阅读 · 0 评论 -
Protocol Buffer实践- Android 实现
Protocol Buffer实践- Android 实现datasay_hi.protosyntax = "proto2";package hello_word;message SayHi { required int32 id = 1; required string something = 2; optional string extra_info = 3;}compileprotoc -I . --java_out=. say_hi.proto输原创 2021-09-03 18:47:51 · 366 阅读 · 0 评论 -
Android Service服务保活/常驻 实践 - HelloDaemon
Android service daemon using JobScheduler保活思路 :1. 将Service设置为前台服务而不显示通知D-clock :思路一:API < 18,启动前台Service时直接传入new Notification();思路二:API >= 18,同时启动两个id相同的前台Service,然后再将后启动的Service做stop处理;前台服务相对于后台服务的优势,除了优先级的提升以外,还有一点:在最近任务列表中划掉卡片时,前台服务不会停止;原创 2021-09-03 14:50:34 · 4099 阅读 · 0 评论 -
android ftp服务的实现- sauronsoftware ftp4j
sauronsoftware ftp4j 的android 端实现ftp4j 介绍ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能。ftp4j 官网: http://www.sauronsoftware.it/projects/ftp4j/The ftp4j library implements a Java full-features FTP client. With ftp4j embedded in your application you can: trans原创 2021-09-03 09:34:31 · 685 阅读 · 0 评论 -
Android8.0 高通PDAF 调试 - actuator sensitivity
Android8.0 高通PDAF 调试 - actuator sensitivity有一说一遇到的问题点调试过程中发现进不来pdaf流程 log显示如下:01-01 08:08:54.425 2414 6352 D mm-camera: <STATS_AF >< LOW> 3994: af_port_handle_module_event: Handle AF module event of type: 001-01 08:08:54.425 2414 6352原创 2021-08-28 12:58:45 · 1297 阅读 · 1 评论 -
FIX: SSL error when connecting to the Jack server.
FIX: SSL error when connecting to the Jack server.##背景unbuntu16.04 编译android 8 源码 突然报错:FAILED: setup-jack-server /bin/bash -c "(prebuilts/sdk/tools/jack-admin install-server prebuilts/sdk/tools/jack-launcher.jar prebuilts/sdk/tools/jack-server-4.11.ALP原创 2021-08-27 14:04:19 · 791 阅读 · 0 评论 -
python 自动化-跨平台的脚本执行
python 自动化-批处理命令的执行背景android 系统开发中 ,使用adb命令调试 是重复性操作Windows 有微软的BAT 批处理脚本来执行但是涉及到跨平台 windows 与linux 的通用性Python脚本 可以解决此问题问题提出 向android手机 /venodr/lib下 push so库文件解决方案# -*- coding: utf-8 -*-"""Created on Thu May 7 17:18:14 2020@author: Tony ""原创 2021-08-27 10:15:42 · 307 阅读 · 0 评论 -
android权限 READ_DEVICE_CONFIG 与 WRITE_DEVICE_CONFIG
android权限 READ_DEVICE_CONFIG 与 WRITE_DEVICE_CONFIG测试GTS的时候遇到GtsDeviceConfigTestCases failed提示"android.permission.READ_DEVICE_CONFIG" 不能赋给未予置的应用研究了下此权限 成果如下:READ_DEVICE_CONFIG_PERMISSION“android.permission.READ_DEVICE_CONFIG”WRITE_DEVICE_CONFIG_PERMI原创 2021-08-26 18:14:36 · 2317 阅读 · 8 评论 -
高通 camera 多模组兼容-- via eeprom
高通 camera 多模组兼容-- via eepromeeprom kernel 驱动初始化时进行 probe,只会进行dummy 注册如果使用原流程读取data的话 数据保存与传递不适合快速开发快速开发使用已有流程 简明扼要的完成需求\kernel\drivers\media\platform\msm\camera_v2\sensor\msm_sensor.cint msm_sensor_match_id(struct msm_sensor_ctrl_t *s_ctrl){ int r原创 2021-08-26 15:16:24 · 257 阅读 · 0 评论 -
eeprom data lsc值的计算
高通 eeprom lsc值得计算在eeprom烧录中 lsc的值需要驱动中自己计算计算高位在前 地位在后原创 2021-08-26 13:16:17 · 521 阅读 · 0 评论 -
Fix android 11 Stable AIDL 添加后的编译问题
android 11 Stable AIDL 接口添加BGAndroid 10 添加了对稳定的 Android 接口定义语言 (AIDL) 的支持,这是一种跟踪由 AIDL 接口提供的应用编程接口 (API)/应用二进制接口 (ABI) 的新方法。稳定的 AIDL 与 AIDL 的主要区别如下:在构建系统中使用 aidl_interfaces 定义接口。接口只能包含结构化数据。对于代表所需类型的 Parcelable,系统会根据其 AIDL 定义自动创建,并自动对其进行编组和解组。可以将接口声明原创 2021-08-26 11:43:07 · 3355 阅读 · 13 评论 -
Selinux调试工具 audio2allow 使用
文章目录Selinux调试工具 audio2allow 使用准备条件安装工具使用总结Selinux调试工具 audio2allow 使用androdi开发中的Selinux调试 可以借助工具 audio2allow 来自动生成allow规则。本文记录工具使用的过程准备条件首先你要有root权限来安装此工具熟悉selinux的格式与log应该了解如何调试selinux简单描述就是关闭selinux ,程序运行的时候会记录相关deny但不会阻止程序运行。 根据记录修改selinux的规则安原创 2021-08-19 09:57:05 · 1297 阅读 · 0 评论 -
Camera API : Camera.getNumberOfCameras()分析
文章目录高通 Camera API: Camera.getNumberOfCameras()分析背景接口实现分析为什么?如何处理?拓展高通 Camera API: Camera.getNumberOfCameras()分析背景最近调试的高通设备 有前摄 后摄 扫描头 三个camera设备但是app 使用接口 Camera.getNumberOfCameras()的返回值为2. 出于好奇 看了一下接口源码实现接口实现分析 /** * Returns the number of p原创 2021-08-18 15:03:52 · 2439 阅读 · 0 评论 -
Fix Android编译openssl问题一例
文章目录Fix Android编译openssl问题一例issue分析解决总结Fix Android编译openssl问题一例issueubuntu升级了openssl 之后 编译出现问题如下: sign-file.c:(.text.startup+0x4f):对‘OPENSSL_init_crypto’未定义的引用 sign-file.c:(.text.startup+0x5b):对‘OPENSSL_init_crypto’未定义的引用 sign-file.c:(.text.startup+原创 2021-08-18 13:57:58 · 436 阅读 · 0 评论 -
bash sh实现git push commit功能
文章目录使用bash sh 实现git push commit功能背景知识repo upload .git push两种方式的区别本文所面临的的问题sh的git push 过程补充实现总结使用bash sh 实现git push commit功能背景知识修改代码 本地commit之后 有两种方式提交gerritrepo upload .//上传代码到远程分支repo upload .git push//上传代码到远程分支git push hsae HEAD:refs/for/xxxxxx原创 2021-08-18 08:34:37 · 362 阅读 · 0 评论 -
手机加速度传感器在Android横竖屏切换中的应用
文章目录如何判断手机的横竖屏使用加速度计实现接口使用使用加速度计和磁力计获取手机倾斜角度加速度传感器在Android横竖屏切换中的应用如何判断手机的横竖屏这个问题依赖与手机上的传感器一般获取手机倾斜角度,用加速度计和磁力计去判断如果只是判断横竖屏 可以只用加速度计加速度计普及度高使用加速度计实现参考了AOSP的通用实现public class AccelerometerListener { // Device orientation public static final int原创 2021-07-28 17:05:13 · 503 阅读 · 0 评论 -
Android系统开发 make 命令使用
文章目录Android系统开发 make 命令使用修改kernel device tree修改kernel 功能修改了qcom HAL编译preloader编译lk打包boot.img(包含kernel、dts、rootfs、init.**.rc、sepolicy下的te权限文件)打包system.img(包含hal,jni,framework)系统预置的一些perf值Android系统开发 make 命令使用针对系统全部编译的命令 细化部分编译的功能修改kernel device treema原创 2021-07-27 10:59:58 · 421 阅读 · 0 评论 -
高通 camera 多模组兼容
高通 camera 多模组兼容背景知识OTP 基本概念OTP存储器的类型OTP的作用OTP的数据兼容的思路举例 OTP烧录在sensor寄存器进行兼容总结背景知识OTP 基本概念Camera Module一般会采取两种方式来记录该Sensor的一些信息,一种是OTP(One Time Programmable),另外一种是EEPROM (Electrically Erasable Programmable Read - Only Memory)。OTP存储器的类型OTP数据烧录在sensor的寄原创 2021-07-16 15:49:07 · 617 阅读 · 0 评论 -
Android 10 高通 AF fullsweep 调试 指南
高通 AF tuning中的fullsweep 调试 指南此操作的目的是为了确认马达工作 减少不必要的争议开启 fullsweep & AF logadb rootadb remountadb shell setprop vendor.debug.camera.af_fullsweep 1adb shell setprop persist.vendor.camera.stats.af.debug 5打开相机 进行preview 操作04-30 07:40:19.424 66原创 2021-06-01 16:13:37 · 2269 阅读 · 0 评论 -
AOSP opengrok使用
<h1 id="aosp-opengrok使用">AOSP opengrok使用</h1><p>AOSP 代码越来越庞大 检索代码越来越困难这里推荐两个公开的代码检索网站 作为工具</p><h2原创 2021-05-26 15:20:42 · 642 阅读 · 0 评论 -
Android 10 新增设备节点的读写 的writable
Android 10 新增设备节点的读写 的writableAndroid 10 项目中 在/sys 下新增一节点加入读写权限之后 还是写入失败分析如下beforetype vendor_sysfs_sensors, sysfs_type, fs_type;/sys/class/sensors(/.*)? u:object_r:vendor_sysfs_sensors:s0allow hal_senso原创 2021-05-08 13:53:49 · 422 阅读 · 0 评论