![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
IT
文章平均质量分 78
歪楼小能手
这个作者很懒,什么都没留下…
展开
-
Android11.0-rgo版添加微件小部件功能
最近遇到几个客户要求长按桌面要有添加微件这个功能按钮,我们知道项目是按照go版过的GMS,go版系统是不带这个功能的,微件小部件是normal版的功能,也就是ddr必须是3G及以上容量才能带这个功能的,但是客户就是要求有这个功能,所以还是老老实实的加上,没办法,谁叫客户就是上帝呢,具体方法如下:1. frameworks/basediff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xmlold mode原创 2022-05-26 15:07:52 · 928 阅读 · 1 评论 -
Android系统默认打开开发者选项中的TP触摸开关
在定制系统开发中,有时会遇到客户为了方便生产测试硬件主板,客户会提出生产测试软件需要默认打开开发者选项中的TP触摸开关,也就是show_touches和pointer_location具体实现方法如下:diff --git a/packages/SettingsProvider/res/values/defaults.xml b/packages/SettingsProvider/res/values/defaults.xmlold mode 100644new mode 100755inde原创 2022-05-24 19:56:54 · 963 阅读 · 0 评论 -
Android-7.1SDK去掉锁屏界面
当我们默认设备无密码时,还是会有个滑动解锁界面,有时客户就会要求去掉这个锁屏界面,去掉这个界面的修改处是在frameworks/base/packages/SettingsProvider/res/values/defaults.xml文件中的def_lockscreen_disabled属性...原创 2020-01-17 10:18:57 · 1068 阅读 · 0 评论 -
安卓9.0SDK中修改系统设置里的语言选择项
在安卓9.0SDK中做项目,偶尔会碰到客户的需求是要把系统设置中的语言选择项去掉大部分只留下少部分的语言,9.0SDK修改这个需求是在frameworks/base/core/res/res/values/locale_config.xml文件中,该文件内容如下:不要的删掉即可...原创 2020-01-17 10:01:43 · 971 阅读 · 0 评论 -
安卓8.1系统套用指纹信息注意事项
相信做平板产品的开发人员都会要做过GMS测试的工作,经常碰到出货急赶时间的项目,通常是套用自己之前过过的GMS项目的指纹信息或者其他客户项目的指纹信息,但是在套用指纹信息过程中经常会碰到谷歌市场app显示此设备未通过认证,所以套用指纹信息请注意如下几个信息,保持一致即可显示已认证: 8.1SDK套用GMS指纹信息需要保证build.prop文件中的ro.build.version.in...原创 2019-11-20 20:18:42 · 706 阅读 · 0 评论 -
安卓8.1系统SDK去掉系统设置中的自动调节亮度
有些基于安卓系统的产品开发是收到很多硬件支持的限制,如我们做的低端平板在硬件上就不支持自适应亮度调节,所以很多客户就会让你把系统设置中的自动调节亮度给去掉,去掉的方法是到packages/apps/Settings/res/xml/display_settings.xml文件中,将对应的有android:key="auto_brightness"的节点注释掉即可...原创 2019-11-20 20:12:55 · 644 阅读 · 0 评论 -
RK关于修改system分区大小
关于修改3126-6.0SDK的system系统分区大小:\device\rockchip\common\BoardConfig.mk文件里得BOARD_SYSTEMIMAGE_PARTITION_SIZE数值是十进制,除以3个1024就得到多少个G,但是parameter.txt里的system分区大小是十六进制扇区的个数,每个扇区是512个字节,所以换算成十进制之后还得乘以512才是字节数,6...原创 2018-11-01 09:47:48 · 4289 阅读 · 0 评论 -
RK3126-6.0SDK修改型号盘符和默认蓝牙名称
3126-6.0SDK修改机型model和盘符是在/build/tools/buildinfo.sh文件中的ro.product.model属性,model不能带空格;修改蓝牙默认名称是在\device\rockchip\rk312x\bluetooth\bdroid_buildcfg.h文件中 ...原创 2018-11-01 09:57:16 · 697 阅读 · 0 评论 -
RK3126-6.0SDK修改默认壁纸并旋转居中
6.0SDK修改默认壁纸是在替换/framewoks/base/core/res/res/drawable-sw600dp-nodpi/default_wallpaper.jpg文件,如果客户要求设备旋转为竖屏时还要求壁纸不拉申并居中显示,那么在\packages\apps\Launcher3\src\com\android\launcher3\Workspace.java类中的updateOff...原创 2018-11-01 10:00:29 · 527 阅读 · 0 评论 -
安卓6.0SDK修改各个声音通道的默认值大小
SDK6.0修改各个声音通道的默认值,如果不知道各个声音同道的最大值可以到\frameworks\base\services\core\java\com\android\server\audio\AudioService.java文件中的 MAX_STREAM_VOLUME int[]数组中去查看,定义最大值是在这里,定义最小值也是在这个AudioService.java文件中,修改默认值是到\f...原创 2018-11-06 09:19:31 · 662 阅读 · 0 评论 -
安卓6.0SDK修改默认锁屏声和触摸音
SDK6.0锁屏声和触摸音的开启和关闭分别是在\frameworks\base\packages\SettingsProvider\res\values\default.xml文件中def_lockscreen_sounds_enabled和def_sound_effects_enabled原创 2018-11-06 09:30:19 · 905 阅读 · 0 评论 -
安卓6.0SDK修改日期显示格式
SDK6.0修改设备日期显示格式,先可以到\external\icu\icu4c\source\data\locales\en.txt文件中的DateTimePatterns处查看日期有哪些格式,然后到\frameworks\base\packages\Keyguard\src\com\android\keyguard\KeyguardStatusView.java文件中的dateView = D...原创 2018-11-06 10:58:53 · 394 阅读 · 0 评论 -
RK3126-8.1SDK平台确定TP驱动文件的方法
RK3126-8.1SDK平台确定TP驱动文件的步骤:先确定主dts文件,确定主dts文件的方法是kernel\make_kernel.sh文件中的第二行代码make ARCH=arm rk3126-bnd-d708.img -j36就知道了;在dts的&i2c2模块中的compatible = "gslX680-d708"代码确定\kernel\drivers\input\touchs...原创 2018-11-01 09:33:40 · 1020 阅读 · 0 评论 -
修改安卓系统默认时间显示格式
RockChip36-6.0SDK中默认的时间显示格式是12小时制的,如果客制需求默认是24小时制的,那么按照如下修改即可:1.:在framework/base/packages/SettingsProvider/res/values/defaults.xml添加<string name="time_12_24">24</string>;2.然后到framework/bas...原创 2018-11-01 09:21:46 · 1207 阅读 · 0 评论 -
车机开发之添加自定义键
S700平台即安卓5.1.1系统添加额外的自定义键值按键: 在Android的原生系统中键值默认情况下是92个,从0-91;一般情况下,这些键值是够用的,但是如果想扩充的话,还是需要添加新的键值的;像我们做车机项目的,添加新按键键值太易见了,比如将倒车检测做成新自定义键值按键,我们需要到多个文件去添加定义代码,但是请记住两点脉络即可,第一个脉络属于理论是ScanCode -> KeyCode...原创 2018-05-23 17:46:12 · 4125 阅读 · 0 评论 -
车机开发之收音机应用开发
关于收音机安卓调试开发逻辑一定要先理解的是收音机功能是独立的一个硬件模块,就算没有收音机apk,该功能应该也是能从小喇叭听到收音声音的,开发收音机apk只不过是方便用户查看收音信息和控制调台而已,但是对于车机来说就算什么都不做,至少应该发送一个切源命令到MCU去通知MCU将声音通道切换到收音机芯片,否则就算收到台了也会没声音的,因为车机设备存在多个声音来源模块到音效芯片,切到谁小喇叭就出谁的声音;...原创 2018-05-22 20:11:20 · 4779 阅读 · 0 评论 -
车机开发之均衡器app开发
做车机的同学都可能碰到整机项目中的音效即均衡器应用的开发,下面我就我项目中是如何开发音效应用的流程和理解记录一下; S700平台开发音效apk应用数据通信流程:apk界面一打开初始化数据时就去本地保存上次的EQ模式字符串,然后根据字符串分别使用McuManager对象去发送指令(mMcuManager.mcuAudioSet(0, 0);//第一个参数0代表是EQ模式,第二个参数0代...原创 2018-05-22 20:04:20 · 5288 阅读 · 0 评论 -
车机开发关于声音切源的逻辑
车机开发关于声音切源的逻辑理解: (1) 首先得知道:ARM硬件声音通道是直接怼到音效芯片,然后由MCU芯片的I2C去控制音效芯片切换接通的声音来源模块 (2) 然后得知道:声音来源模块可不止只有ARM,还有比如说Aux_in(DVD视频输入)、Radio(收音机声音输入)、手机互联、蓝牙等独立硬件芯片是直接把声音输入到音效芯片,只不过是由MCU去控制音效芯片切换到哪个声音来源模块,音效芯片就像是...原创 2018-05-07 20:16:37 · 1570 阅读 · 0 评论 -
安卓开发广播接收不到的问题
通常我们知道,发送普通广播Intent对象都是只能带一个Action的,但是广播接收器却可以把很多Action添加到IntentFilter中去过滤自己需要接收到的广播,但是有一个小细节需要注意:有些广播是必须添加USBfilter.addDataScheme("file")的,比如说是SD卡插拔卸载广播,这样的广播接收器不能掺杂普通广播的Action,也不是说不能掺杂,如果掺杂了,那么普通广播就...原创 2018-05-13 12:10:49 · 956 阅读 · 0 评论 -
ListView的理解
ListView的理解: (1) 在日常开发中使用最频繁和最复杂的控件就是ListView控件了.它有两个很神奇的地方,第一个是它可以用列表的形式展示很多很多数据,第二个是它加载了很多数据却不会导致OOM; (2) ListView的继承关系->ListView和GridView都继承自AbsListView,可见GridView的用法和ListView差不多; (3) Adapter的作...原创 2018-04-27 11:55:42 · 381 阅读 · 0 评论 -
安卓6.0SDK默认打开显示开发者选项
3126-6.0SDK默认显示出开发者选项,一般user版本是不显示开发者选项的,需要连击才出来,但是一定要显示出来的话,可以到\packages\apps\Settings\src\com\android\settings\SettingsActivity.java中的updateTilesList函数中的第一行代码的showDev改为true即可 ...原创 2018-11-06 17:32:02 · 1267 阅读 · 0 评论 -
安卓-默认打开重力IC自动旋转开关
3126-8.1SDK修改默认打开自动旋转屏幕的开关在/device/rockchip/rk3126c/overlay/frameworks/base/packages/SettingsProvider/res/values/defaults.xml文件中的def_accelerometer_rotation属性,把这个属性设置为true就是默认打开,如果该目录下defaults.xml文件没有这...原创 2018-12-15 16:38:22 · 916 阅读 · 0 评论 -
在Android-7.1SDK中添加按键功能
一般的硬件板子或者平板机器都只有电源键和音量加减键共3个物理按键,但是做项目中会发现经常会有项目的机器会多一两个键出来,还要求功能需要实现,比如说:返回键,ok键,语音键等,下面是如何实现这些多的物理按键的功能:在主dts文件中的&adc节点中按照音量加减键的方法添加节点,节点名称和label可以随意命名,linux,code需要到kernel/include/uapi/linux/i...原创 2019-07-06 11:44:35 · 791 阅读 · 0 评论 -
安卓系统6.0设置默认打开允许安装来自未知来源的应用的开关
3126-6.0SDK默认打开允许安装来自未知来源的应用的开关是到/frameworks/base/packages/SettingsProvider/res/values/defaults.xml文件中修改def_install_non_market_apps属性,另外需要注意device目录下的overlay目录是否有覆盖的frameworks/base/packages/SettingsPr...原创 2019-06-28 15:02:39 · 4541 阅读 · 0 评论 -
安卓系统修改默认输入键盘
4.4SDK默认输入法修改理解:默认语言和默认输入法以及键盘是两码事。当需要默认第三方输入法时需要预置第三方输入法apk,系统设置里的输入法菜单能看到好几个输入法,每一个输入法对应一个输入法apk,系统自带的输入法源码在packages\inputmethods\目录,像谷歌输入法和谷歌拼音输入法的源码都是在这里,如果不要可以屏蔽编译即可;一般除了4.4SDK,其他5.0或者5.0以上的SDK都不...原创 2019-06-05 17:36:05 · 1658 阅读 · 1 评论 -
RochChip3326-8.1SDK禁止掉下拉状态栏
3326-8.1SDK禁止去掉下拉状态栏是到frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java类中的onTouchEvent()方法中去返回true即可,如return /*barConsumedEvent || super.onTouchEvent(e...原创 2019-03-15 11:32:07 · 367 阅读 · 1 评论 -
RockChip3126-8.1SDK去掉相机快门拍照声
自安卓系统高版本以来,为防止偷拍行为,很多系统都无法关掉拍照快门声,至少没有这样关闭快门声的开关了,但项目中就可能会碰到这样的需求,默认关闭快门声,rk3126-8.1SDK修改方法如下:在frameworks/base/core/java/android/hardware/Camera.java类中的enableShutterSound()方法中去修改这行代码return _enableSh...原创 2019-03-15 11:14:26 · 330 阅读 · 0 评论 -
RK3126-4.4SDK修改电池百分比
RK3126-4.4SDK默认是没有电池百分比显示的,即使打开了也是在电池图标里面显示,电量超过35%几乎看不到显示了,所以得舍弃这种方法而通过通过添加代码修改成我们手机一样在状态栏电池图标旁边显示电量百分比,具体修改方法有需要的码友可以私下问我要补丁,网上也有相关资料文档可供参考;但是如果我们添加成功了会出现另一个问题:下拉菜单中的电池图标和百分比数字会显示不全!!!!如果需要去掉下拉菜单中的电...原创 2019-03-09 16:12:34 · 523 阅读 · 0 评论 -
RockChip-3126-8.1SDK去掉下拉状态栏和系统设置中的投射功能
3126-8.1SDK去掉下拉状态栏中的投屏图标是到frameworks/base/packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSFactoryImpl.java类中去注释掉 //else if (tileSpec.equals("cast")) return new CastTile(mHost);这行代码;去掉系统设置中的投...原创 2019-02-13 15:35:15 · 873 阅读 · 0 评论 -
RK3126-6.0SDK-修改内存显示
因为之前碰到几个项目客户需求是要把内存显示从剩余多少G改成就显示8G,第一次我没在意,改了也就改了,没有记录下来,可是后来碰到至少4个项目都有这个需求,每次都要去追一遍源码,很耽误效率,所以在这里记录下,具体修改如下:3126-6.0SDK修改系统设置里内存显示为8G,有两种情况:插上了SD卡和不插SD卡显示的界面不一样;(1)当不插SD卡时,修改packages\apps\Settings\...原创 2019-01-28 10:15:57 · 869 阅读 · 0 评论 -
RockChip_3126_8.1内核信息和版本号
当客户有返单,而之前出的软件又有问题,想在之前的项目代码基础上稍作改动以便处理掉bug或者问题时,就需要参照之前的内核信息和版本号写死这些信息,否则按照普通编译,一般这两个信息都是会变动的,至少时间日期会不一样,所以需要写死这两个信息,具体修改位置如下:rk3126-8.1SDK写死内核信息是在/frameworks/base//packages/SettingsLib/src/com/and...原创 2019-01-28 10:06:36 · 510 阅读 · 0 评论 -
安卓8.1系统修改盘符和型号model不一致的需求
一般情况下盘符是和model型号是一样的,但是就是能碰到这样的需求,客户要求盘符显示是aaa,型号(model)显示是bbb,那么,当盘符和model不一致时,就到frameworks\av\media\mtp\MtpServer.cpp文件中的mData.putString(mDeviceInfoModel)即可,就是将mDeviceInfoModel替换成你需要的字符串即可,如你想要将盘符...原创 2019-01-18 15:38:33 · 587 阅读 · 0 评论 -
安卓8.1系统多次点击版本号不显示开发者选项
在安卓8.1系统中去修改点击系统设置中的版本号5次也不显示开发者选项是到packages/apps/Settings/src/com/android/settings/deviceinfo/BuildNumberPreferenceController.java类中handlePreferenceTreeClick()函数中去注释调函数中最后那部分代码,留下return true这句代码,其他系统...原创 2019-01-18 15:33:14 · 4207 阅读 · 1 评论 -
安卓4.4,5.1,6.0,8.1等系统上配置默认的输入法
当我们碰到客户需求是默认使用第三方的输入法而不使用谷歌的输入法时,可以如下修改:先到/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java类中loadSecureSettings()函数中添加loadStringSetting(stmt,Secure.EN...原创 2019-01-18 15:30:22 · 1190 阅读 · 6 评论 -
默认启动指定的Launcher
在安卓系统中预置apk是比较常见的工作,但是有一个需求比较特殊,那就是在预置的apk中有客制的Luancher,客户需求要求设备开机启动默认启动这个客户提供的Launcher,那么这种情况下有两种方案去实现:1. 第一种方案:在系统Launcher3源码中去添加代码,到Launcher.java类中的onCreate函数中去通过客制的包名和类名去启动客制的apk应用,添加代码如下:pub...原创 2018-12-15 17:21:10 · 679 阅读 · 0 评论 -
安卓-system.img镜像文件过大问题
3126-5.1SDK预置过多apk时导致编译otapackage时报错处理:1.修改prebuilts/python/linux-x86/2.7.5/lib/python2.7/zipfile.py文件中为ZIP64_LIMIT = (1 << 32) - 1;2.将build/tools/releasetools/add_img_to_target_files.py、bui...原创 2018-12-15 16:47:46 · 4723 阅读 · 0 评论 -
关于程序实现修改开机Logo
做车机的朋友可能知道,一个项目可能会遇到这种需求:根据客户的车品牌设置开机Logo,比如说大众的车就选择大众的开机Logo图片,凯迪拉克的车就选择凯迪拉克的开机Logo图片,十分方便灵活可以适用所有车品牌,车主可以自己选择自己喜欢的开机Logo,一旦选择之后,重启时开机Logo就变成你之前选择的开机Logo,这并不是简单的替换系统代码misc/目录下的boot_logo.bmp.gz文件那么简单;...原创 2018-04-27 11:47:00 · 4939 阅读 · 1 评论 -
关于git cherry-pick命令和使用过程中的理解
关于git cherry-pick命令和使用过程中的理解:git cherry-pick [commit id]命令是专门来同步同一个仓不同分支上的内容,例如同一个项目(必定是同一个仓库)在开发过程中创建出了许多分支,假如有a分支非常稳定是发布版,b分支是专门用来测试新功能的,现在想把b分支的一个比较眼前一亮的功能同步到a分支上,由于开发进程的推进,现在肯定不能合并b分支到a分支上来,否则就会出现...原创 2018-04-03 17:34:24 · 4877 阅读 · 0 评论 -
Android系统编译所使用的命令
本人是做车机开发的,每个项目都会单独切出一个分支来,每个分支都是一套Android系统代码,有安卓4.1,4.4,5.1,然后在此基础上继续开发,所以会涉及到系统编译和模块编译,以供大家学习和指正,也怕自己以后会忘了,特此记录一下基本的系统编译流程命令如下:(1)在android目录下使用source build/envsetup.sh 命令(2)接下来是执行lunch命令,然后选择平原创 2018-01-10 15:29:08 · 609 阅读 · 0 评论 -
Android设置全屏的方法
Android开发中,经常需要设置全屏的需求.设置全屏可以有很多方法例如getWindow()得到Window对象,然后window.addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN)或者window.setFlags(....)还或者通过window对象.getAttributes()得到布局参数类,设置这个布局参数类的flags原创 2018-01-10 15:23:59 · 361 阅读 · 0 评论