
Android系统开发
zengrunxiu
程序媛
展开
-
实现Recovery形式本地化显示文本定制(recovery_l10n工具的使用
...转载 2020-01-03 15:21:24 · 1149 阅读 · 1 评论 -
去掉SystemUI apk后adb调试不生效
去掉SystemUI后打开adb调试,连接adb报error: device unauthorized.This adbd’s $ADB_VENDOR_KEYS is not set; try ‘adb kill-server’ if that seems wrong.Otherwise check for a confirmation dialog on your device.原因是打开a...原创 2019-07-08 09:53:05 · 1601 阅读 · 0 评论 -
android 8.1 Launcher添加切换主题功能
主题加载方式:APK包的方式,将主题资源放在Android工程上通过打包安装实现主题的替换。修改方法:一:面板添加theme控件修改Launcher3/res/layout/overview_panel.xml<!-- zrx add start --> <TextView android:id="@+id/theme_button" ...原创 2019-03-21 20:14:48 · 2008 阅读 · 7 评论 -
init.rc语法
转载:https://blog.youkuaiyun.com/feigebangni/article/details/50300063initrc脚本的4种类型&amp;amp;quot;&amp;amp;amp;gt;init.rc脚本的4种类型Action(动作)Commands(命令)Services(服务)Options(选项)Action格式: on &amp;amp;amp;lt; trigger &am转载 2018-11-19 10:26:59 · 544 阅读 · 0 评论 -
linux4位权限分别代表什么意思
转载:https://blog.youkuaiyun.com/xiaoxing1521025/article/details/15810041 接触linux一段时间了,有个权限问题让我一直郁闷。网上也没找到(估计是关键字不对),就是这个0777,最前面的0是什么意思。最近看到一本书(Linux与unix shell编程指南),终于找到答案了。...转载 2018-11-16 15:57:21 · 3018 阅读 · 0 评论 -
MTK编译及修改记录
2016年我从app开发转到做系统开发,这是我刚做系统开发时做的笔记。1.机器型号,机器盘符的修改位置alps/build/tools/buildinfo.sh 编译后会在alps/out/target/product/s88m/system/build.prop下生成。2.蓝牙名称修改位置alps/device/mediatek/common/custom.conf。3.Build ...原创 2018-10-27 16:09:29 · 11729 阅读 · 1 评论 -
关于开发一款T9实体按键输入法app的思路
前段时间有做一款是基于传统的T9键盘没有触摸屏的机型,导致常规的输入法无法使用,说下开发一款T9实体按键输入法app的大概流程。1.输入法的核心部分是InputMethodService,这个服务提供输入法的UI,处理用户输入和传输文本到指定区域以及当前焦点的回调。写一个继承InputMethodService的类,在AndroidManifest.xml配置该服务。2.对InputMetho...原创 2018-10-24 17:49:56 · 2567 阅读 · 3 评论 -
魔趣(Mokee)开源代码(android 7.1.2 Android8.1)同步下载
转载原文:https://blog.youkuaiyun.com/fmc088/article/details/80678955 一.下载代码使用魔趣repo镜像1.在当前用户的根目录创建bin文件夹,并添加到系统环境变量中。$ mkdir ~/bin$ PATH=~/bin:$PATH2.下载Repo并给予执行权限 $ curl https://download.mok...转载 2018-10-26 17:52:33 · 4153 阅读 · 0 评论 -
在Doze模式下,指定app到白名单
处于Doze模式时,进行了以下操作。1.网络接入被暂停2.系统忽略wakelocks3.标准的AlarmManageralarms被延缓到下一个maintenancewindow4.如果你需要在Doze状态下启动设置的alarms,使用setAndAllowWhileIdle()或者setExactAndAllowWhileIdle()。5.当有setAlarmClock()的alarm...原创 2018-10-25 16:15:12 · 3152 阅读 · 1 评论 -
Android源码之指定第三方app权限默认开启
系统app的权限默认开启,大家应该都知道是修改DefaultPermissionGrantPolicy.java。而手动安装的第三方app的权限默认开启是修改PackageManagerService.java。在grantPermissionsLpw函数中添加如下代码 if(pkg.packageName.contains("zhaohua")) { ...原创 2018-09-27 18:49:12 · 6842 阅读 · 1 评论 -
Android系统OTA升级
OTA本质与实现流程分析Android系统OTA升级流程Android系统Recovery工作原理之使用update.zip升级过程分析(四)—Android系统Recovery模式的工作原理Android系统Recovery工作原理之使用update.zip升级过程分析(七)—Recovery服务的核心install_package函数Android系统SD卡升级Androi...转载 2018-08-16 17:52:30 · 2400 阅读 · 0 评论 -
工厂测试之听筒和扬声器测试
今天驱动工程师要我写一段代码验证听筒功能是否正常,我一开始把听筒播放设置为AudioManager.MODE_IN_CALL,发现声音是从speaker出来的而不是receiver出来的,通过查阅源码发现听筒播放模式应更改AudioManager.MODE_IN_COMMUNICATION。AudioManager am;MediaPlayer myPlayer;myPlayer = Me...原创 2018-07-07 15:36:52 · 9280 阅读 · 0 评论 -
Android 4.2—Gallery2的焦点问题
基于Android 4.2系统做的全键盘手机方案终于完成了,因为没有TP,只能通过方向键控制,焦点是一大问题。最难的焦点问题就是Gallery2,Browser以及第三方app例如WhatsApp,Facebook等获取不到焦点问题。为什么说Gallery2的焦点问题很难呢,因为Gallery2的UI实现没有采用Android通常的View控件系统,不能简单的通过setFocusable(...原创 2018-06-20 16:47:19 · 529 阅读 · 7 评论 -
Android系统开发—对View的clipChildren,clipToPadding,importantForAccessibility属性的理解
今天在查阅android 8.1的Launcher3时,看到了launcher.xml下设置了android:clipChildren=”false”,android:importantForAccessibility=”no”,android:clipToPadding=”false”这三个属性。 1.android:clipChildren的意思:默认为true,我们将其值设置为false后...原创 2018-06-20 15:33:17 · 8037 阅读 · 0 评论 -
开启ccache提升Android编译速度
Android codebase都很大,编译一次都需要花很多时间,如果是preloader/lk/bootimage还好,但是Android的话都是非常久。实际上这个编译时间还是可以进一步缩短! ccache工具通过将头文件高速缓存到源文件之中而改进了构建性能,因而通过减少每一步编译时添加头文件所需要的时间而提高了构建速度。ccache是google默认就存放在codebase的工具。具体操...原创 2018-06-23 15:17:07 · 1898 阅读 · 0 评论 -
Android系统开发 ——Theme简析
Theme主要是改变窗体的样式,系统定义的Theme在目录frameworks/base/core/res/res/values目录下,Theme的正确玩法是在AndroidManifest.xml的Application或者Activity结点下通过android:theme设置theme。通过theme可以改变状态栏颜色、标题栏颜色、窗体背景色、有无标题栏状态栏等样式。 如何把系统Setti...原创 2018-06-08 16:15:30 · 517 阅读 · 0 评论 -
Android系统开发——WiFi Hotspot限速2M每秒
去年定制化了一个wifi热点限速2M/s的功能,接下来把解决方案写下来。 iptables是Linux系统的IP信息包过滤工具,实际就是一个Linux命令,通过这个命令,可以对整个系统发出去的包,接收到的包,以及转发的包进行拦截、修改、拒绝等操作。刚好Android也是基于Linux内核的系统,也集成了iptables,一些android网络相关重要功能都是通过iptables实现。 andr...原创 2018-06-15 12:05:12 · 4606 阅读 · 9 评论