![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Framework
路过独木桥!!
本人从事6年的android app开发和framework开发 从事过rk 展锐 MTK等平台os定制开发
展开
-
Android 4.4 屏蔽掉弹出无响应对话框和已停止对话框
代码路径:frameworks\base\services\java\com\android\server\am\ActivityManagerService.java在ActivityManagerService.java中接收消息handleMessage中处理弹出对话框1、屏蔽掉弹出已停止运行对话框@Override public void handleMessage(Message msg) { switch (msg.what) {原创 2021-09-05 08:32:10 · 1365 阅读 · 9 评论 -
Android 4.4 集成编译出来的framework.jar文件到应用中
Android 4.4平台需要如下这两个jar包由于需要调用系统api,所以要集成framework编译出来的class.jar到应用才能调用系统api\out\target\common\obj\JAVA_LIBRARIES\framework2_intermediates\out\target\common\obj\JAVA_LIBRARIES\framework_intermediates...原创 2021-09-05 08:24:25 · 188 阅读 · 0 评论 -
Android 4.4 修改wifi名称和wifi密码
代码路径:frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiApConfigStore.java在WifiApConfigStore.java中getDefaultApConfiguration()方法中修改wifi密码和名称 private WifiConfiguration getDefaultApConfiguration() { WifiConfiguration config = new Wifi原创 2021-09-05 08:20:54 · 422 阅读 · 0 评论 -
Android 9.0 PhoneWindowManager中监听手势(左边滑动、右边滑动、顶部滑动、底部滑动、点击)
功能实现:在该地方监听手势滑动,可以实现顶部、底部、左边、右边滑动弹出窗口出来,例如我们手机左右滑动退出程序就可以在这里实现。代码路径:android/frameworks/base/servicescore/java/com/android/server/policy/PhoneWindowManager.java修改地方:在PhoneWindowManager.java中init方法中用到手势,这里可以监听手势(左边滑动、右边滑动、顶部滑动、底部滑动、点击)@Override pub原创 2021-08-18 14:17:07 · 1341 阅读 · 0 评论 -
Android 9.0 应用显示宽高比maxAspectRatio使用部分应用半屏问题
现象:代码路径:android/frameworks/base/core/java/android/content/pm/PackageParser.javaandroid/frameworks/base/services/core/java/com/android/server/am/ActivityRecord.java日志分析流程:通过dumpsys acticity看看输出的overrideconfiguration中bound的值,从日志分析看,从bounds数组中可以知道该应用距离左原创 2021-08-18 11:38:25 · 1267 阅读 · 1 评论 -
Android 8.1 PhoneWindowManager中如何实现应用区域动态全屏
实现思路:一般安卓应用分导航栏和状态栏,如果要想应用区域全屏,那么只需要把导航栏的宽度和状态栏的宽度修改为0.那怎么修改为0?其实在Android中,每启动一个窗口就重新绘制一次,重新绘制一次就可以重新设置一下导航栏和状态栏宽度。代码路径:frameworks/base/services/core/java/com/android/server/policy/PhoneWindowManager.java1、在PhoneWindowManager.java中,每启动一个窗口的时候就会执行beginL原创 2021-08-12 14:10:17 · 745 阅读 · 0 评论 -
Android SElinux权限问题解决
1.从android5.x开始,引入严格的selinux权限管理机制,经常会遇到各种avc denied的Log。 # adb shell cat /proc/kmsg | grep avc # adb shell dmesg | grep avc # adb logcat | grep avc解决原则是:缺什么补什么,一步一步补到没有avc denied为止。 2.Log解决: audit(0.0:67): avc: denied { write }for path="/dev/原创 2021-08-09 13:46:02 · 319 阅读 · 0 评论 -
Android 8.1 Framework 设备正在启动界面流程
界面效果图源代码路径:frameworks/base/ore/res/res/values-zh-rCN/strings.xmlframeworks/base/services/core/java/com/android/server/policy/PhoneWindowManager.java设置正在启动…字段文字路径frameworks/base/ore/res/res/values-zh-rCN/strings.xml<string name="android_start_tit原创 2021-07-28 20:58:51 · 476 阅读 · 0 评论 -
Android 9.0挂载TF卡并链接到一个新的目录上
TF卡映射到指定路径,如果要实现该功能只需要修改vold中代码就可以了修改代码system/vold/model/PublicVolume.cppsystem/vold/model/PublicVolume.h在PublicVolume.cpp中的doMount()方法调用linkExternal();方法status_t PublicVolume::doMount() { linkExternal(); return OK;}void PublicVolume::linkExt原创 2021-07-28 20:51:29 · 978 阅读 · 0 评论 -
Android 8.1 屏蔽布局强制竖屏和代码中设置竖屏
在我们开发过程中,设置系统横竖屏有两种方式,一种是在布局中设置、一种是在代码中设置代码路径:/frameworks/base/core/java/android/app/Activity.java/frameworks/base/core/java/android/content/pm/PackageParser.java1、在Activity.java中setRequestedOrientation()方法中修改requestedOrientation 变量 public void setReq原创 2021-07-24 16:14:10 · 490 阅读 · 2 评论 -
Android 8.1 如何修改使用默认使用GPS提供时间
代码路径frameworks/base/packages/SettingsProvider/res/values/defaults.xmlframeworks/base/packages/SettingsProvider/res/values/mtk_defaults.xml <bool name="def_auto_time">false</bool> //使用网络提供时间 默认值:false <bool name="def_auto_time_gp原创 2021-07-02 14:53:19 · 562 阅读 · 0 评论 -
Android 8.1 系统 开机启动日志
Android系统总体加载流程如下所示:1、Android系统通过init进程启动Zygote,其中init进程的日志是在内核中打印。M00005F 07-01 16:11:02.023 422 422 I Zygote : System server process 764 has been createdM000060 07-01 16:11:02.025 422 422 I Zygote : Accepting command socket connectionsM0000原创 2021-07-01 16:52:01 · 2891 阅读 · 0 评论 -
Android8.1 时间更新机制之网络更新时间和GPS更新时间
一、Android网络时间更新Android网络时间更新,大体分两类。1、moderm相关更新,2、网络更新。本次主要介绍网路更新时间,主要涉及到NetworkTimeUpdateService,该类运行在SystemServer(ActivityManagerService)进程中。它有点特殊,从名字来看,其实Service,其实它和WifiService、ConnectivityManagerService等系统Service不同。ZygoteInit.java的startSystemServer函原创 2020-05-29 12:21:20 · 2856 阅读 · 1 评论 -
SELinux 权限问题
权限修改adb在线修改seLinuxEnforcing(表示已打开),Permissive(表示已关闭) getenforce; //获取当前seLinux状态 setenforce 1; //打开seLinux setenforce 0; //关闭seLinux从kernel中彻底关闭修改LINUX/android/kernel/arch/arm64/configs/xxx_defconfig文件(xxx一般为手机产品名), 去掉CONFIG_SECURITY_SELINU原创 2020-05-12 11:45:50 · 805 阅读 · 0 评论 -
Android 8.1系统签名详解
在工作中我们经常会提供接口给客户调用,我们就需要提供jar给客户调用,客户那边使用就都需要系统的签名才能正常运行。而如果我们想用Android Studio单独开发某个应用而使用系统签名的时候,有两种开发的方式,一种是编译完成后,使用SignApk.jar来进行签名,另外一种是把系统的pemplatform.pk8和platform.x509转换成为Android Studio常用的 .keyst...原创 2020-04-30 17:01:12 · 1339 阅读 · 0 评论 -
Android8.1 添加自定义系统服务
-一、Aidl接口文件代码路径:frameworks/base/core/java/android/os/IHookStatus.aidlpackage android.os;interface IHookStatus { boolean IsOffhookByHost(); boolean IsOnhookByHost(); boolean IsOffhookByF...原创 2020-04-29 09:06:04 · 1565 阅读 · 0 评论 -
PhoneWindowManager长按电源键流程
一、代码路径:frameworks/base/services/core/java/com/android/server/policy/PhoneWindowManager.java1、interceptKeyBeforeDispatching方法处理:@Overridepublic long interceptKeyBeforeDispatching(WindowState win, Ke...原创 2019-12-12 21:17:09 · 1540 阅读 · 0 评论