- 博客(22)
- 资源 (8)
- 收藏
- 关注
原创 AOSP单模块编译比mm更快的ninja快速编译
编译指令常用的make build....和mm之外,还有一种采用ninja编译的方式。这种编译方式最快,适合开发系统模块fw这类过程中使用。执行./quick_build.sh <模块名>,例如 ./quick_build.sh frameworks;将文件放在源码Android根目录,执行chmod 777 quick_build.sh授权文件。将编译后的模块推送到了system中(注意这类修改成你要推送模块的路径)。执行source lunch设置编译环境;
2024-08-02 19:05:41 239
原创 android12编译三方提供的bin文件,通过selinux配置并实现rc开机启动
android12编译三方提供的bin文件到system/bin目录,配置te通过selinux,并实现rc开机启动
2024-08-02 18:00:19 486
原创 android12自动授权p2p连接(取消手动对话框)
android10的修改位置路径是:/android/frameworks/opt/net/wifi/service/java/com/android/server/wifi/p2p/WifiP2pServiceImpl.java。android12的修改路径:/android12/packages/modules/Wifi/service/java/com/android/server/wifi/p2p/WifiP2pServiceImpl.java。模拟用户点击了确认按钮。
2024-07-06 16:01:36 260
原创 Android 通过重载service的dump函数实现adb打印
通过继承service实现dump函数,可以通过下面命令对service进行自定义命令和参数交互,来执行自己需要的代码函数。
2024-07-05 19:57:28 284
原创 android12替换默认字体为阿里普惠
4.andriod.bp加入编译到系统镜像,字体文件会输出到镜像system/fonts 目录下。1.导入字体到路径frameworks\base\data\fonts。5.查看字体是否已经生效。(普惠字体这个“司”字非常好区分)2、在该目录下面的fonts.mk文件中添加字体。3.替换zh-Hans中文字体。
2024-05-30 14:13:04 271
原创 android12设置默认键盘为谷歌键盘
android\frameworks\base\services\core\java\com\android\server\inputmethod\InputMethodManagerService.java的resetDefaultImeLocked方法中注掉代码 如下。
2024-05-28 19:52:26 481
原创 android12指定应用白名单默认授权
1.路径frameworks/base/services/core/java/com/android/server/pm/permission/DefaultPermissionGrantPolicy.java尾部加入如下代码。5.这是重新刷机,应用就可以面授权直接进入了。进入设置权限页面也可以看到。3.新建sys_app_grant_permission_list.txt文件,写入白名单授权包名。4.在mk中构建加入sys_app_grant_permission_list.conf拷贝。
2024-04-24 17:15:01 1032 11
原创 android异常日志和屏幕的录制(screenrecord+logcat)
android系统应用开发,后期好多bug都不是必现而是偶发,这种需要测试同事反复尝试出现后。门需要在bug产生的时候进行操作过程的录制、log的导出、bug发生时间点这三个元素,将复现的bug整理后提交给研发的同学。这种情况多数都可以用logcat+screenrecord编写个简单的脚本搞定。由于screenrecord录制自带系统信息和毫秒时间点。只需要将录制到mp4和log给出就可。
2024-04-12 10:05:14 264
原创 binder服务端监听客户端销毁,利用linkToDeath自动移除客户端回调监听
但是如果服务端有客户端添加的回调,客户端销毁了。服务端在不知道情况下回调了客户端添加的回调。服务端就会抛出RemoteException异常或者空指针异常,造成服务端崩溃。binder场景是客户端绑定服务端,可以通过linkToDeath方法监听服务端的消亡,防止远程调用抛出RemoteException的异常。以下代码就是放在服务端,管理客户端添加过来的回调类。当客户端异常销毁,服务端自动维护回调集合,自动移除不存在的客户端回调。
2023-12-13 10:30:59 649 1
原创 android10修改softap热点设置分配的dns
车机系统开发,对接三方投屏app。系统不能给连接到车机热点苹果手机分配dns,以达到,苹果手机通过自身流量方式连接到热点同时还能访问互联网,节省车机自带流量。四、解决方案二:修改DhcpServer.java代码dhcp中dns分配部分,然后通过动态设置persist.tyw.clean.dns取值,决定是否给某些时段新连接的设备是否分配dns。修改源码方式适合车机有4g模块,手机是否可以使用车机流量上网可以动态判断。配置文件方式适合车机没有4g模块,这样也不会有手机连接车机使用车机流量的场景。
2023-11-27 20:05:04 656
原创 android10(aosp开发)设备连接有线网络后自动断开P2P无线连接
车机系统开发,android会通过有线网络接入tbox获取上网流量,但是三方app投屏厂商未实现无感连接到车机,实现android手机投屏。会默认使用p2p接入无线网络。此时同时接入有线tbox和无线p2p安卓手机投屏app,一切正常;1.先连接上p2p投屏,后接入有线tbox。2.先接入有线tbox,后连接屏p2p投屏。后续可以通过rc文件让系统默认添加路由规则。执行后执行 ip rule查看路由规则如下。二、加入路由规则,让p2p网络可以接入系统。一、降低有线网络打分等级,低于无线网络。
2023-09-21 19:01:03 267
原创 关闭谷歌键盘确认提示框
开始以为这个输入是因为没有授权,所以在授权代码部分和白名单部分一顿猛操作,后来再设置权限中发现,即使都授权了第一次开机也会弹出这个提示框。才发现这个不是授权用的,就是谷歌键盘默认一个弹出框!1.反编译全局搜索china_preload_notice_shown,将他的默认值改成true(smil源码中是v8改成v6)奈何没有找到其他可以替代的授权的输入法。以上两种方式感觉都不是终极解决方式,如果您有好的方式去除这个提示框,欢迎留言探讨!原来是china_preload_notice_shown有个标识。
2023-09-03 14:46:22 295
原创 修改谷歌拼音键盘高度
可以看到他具体去取的值是ro.comgoogle.ime.height_ratio 由于是ro类型的属性,无法通过adb命令动态验证,于是需要在编译时候加入属性验证。但是最后版本的输入法4.5.2的源码已经不再开源,无法通过网上提到修改键盘高度比例源码来动态增高或降低键盘默认显示高度。很遗憾我的dpi设置的并没有问题,所有还得继续寻找原因,无奈反编译查看谷歌键盘源码。车机不是常规比例屏幕,造成谷歌拼音如输入高度特别低,手指点击经常误操作。通过源码可以看到谷歌键盘会优先根据proprty设定高度比例,如图。
2023-09-03 14:30:35 312
原创 android10安装谷歌拼音输入法4.5.2异常: java.lang.SecurityException: Failed to find provider user_dictionary
UserDictionaryProvider 库源码路径:/android/packages/providers/UserDictionaryProvider/。编译前可以先从文件管理器确认下是否是本问题造成。
2023-08-11 16:43:41 279 1
原创 android10 根据包名默认通过“未知应用”安装权限
aosp29系统开发,某些内置三方应用要求默认授予安装权限用于升级,但是Android10出于安全考虑,默认安装升级包需要用户授权。出现如下提示:设置通过后还会提示确认框。
2023-08-11 16:21:26 723 1
原创 android10 系统api实现app开机启动管理
车机系统开发,基于android10.调用系统api实现启动和关闭app的开机自启功能。
2022-06-15 10:17:29 1264 1
原创 android 10.0利用反射调用系统截屏
1.需要系统签名2.添加<uses-permission android:name="android.permission.READ_FRAME_BUFFER" />权限//屏幕宽度1920,高度720 publicvoid startScreenShot() { try { @SuppressLint("PrivateApi") Class<?> mClassType = Class.forName("android.view.S
2022-05-27 14:10:53 802
原创 群晖note station新版本一直显示“正在加载”解决方法
最新群晖NoteStation更新一直显示“正在加载”。需要先备份好便签然后彻底删除掉NoteStation2.6.0版本官方就能下载https://archive.synology.com/download/Package/NoteStation/2.5.5-0870下载自己硬件对应版本,一般多是x86版本。是在贴吧@剑轻吟_的发帖中找到的,在此记录感谢!下载上传2.5.5版本到群晖,点击手动安装2.5.5的旧版本。...
2021-06-29 08:48:33 4228
转载 Eclipse Indigo (3.7.2)安装ssh插件(struts2+hibernate3.x+spring)
打开eclipse选择help->install new softare点击add出现下面的界面给该库起个名字hibernate3在localtion处输入如下网址http://download.jboss.org/jbosstools/updates/stable/indigo/ 然后点击ok稍等片刻会出现如下图,然后选择jboss web and jav
2013-05-29 22:22:11 2202
svn1.6安装包和教程
2013-06-29
适合windows的Inconsolata字体
2013-05-17
Android/OPhone 开发完全讲义源代码(2)
2012-10-15
Android-OPhone开发完全讲义源代码(1)
2012-10-15
eclipse4.2_juno中文包官方下载
2012-10-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人