丨一念丨
心中有丘壑,眉目作山河。
展开
-
Android源码分析(十八)----如何判断飞行模式是否开启
一:如何判断飞行模式是否开启源码地址:frameworks\base\services\core\java\com\android\server\policy\GlobalActions.java主要查询字段Settings.Global.AIRPLANE_MODE_ONprivate void onAirplaneModeChanged() { // Let the service...原创 2019-11-15 11:48:09 · 490 阅读 · 0 评论 -
Android源码分析(十七)----init.rc文件添加脚本代码
一:init.rc文件修改开机后运行一次:chmod 777 /system/bin/bt_config.shservice bt_config /system/bin/bt_config.sh class main user root group root oneshot开机后等待android启动完成后再运行:service bt_config /sys...原创 2019-11-04 16:30:28 · 578 阅读 · 2 评论 -
Android源码分析(十六)----adb shell 命令进行OTA升级
一: 进入shell命令界面adb shell二:创建目录/cache/recoverymkdir /cache/recovery如果系统中已有此目录,则会提示已存在。三: 修改文件夹权限chmod -R 777 /cache/recovery四: 把ota文件路径写入/cache/recovery/command文件中echo "–update_package=系统ota升级...原创 2019-08-27 11:06:12 · 1691 阅读 · 1 评论 -
Android源码分析(十五)----GPS冷启动实现原理分析
一:原理分析主要sendExtraCommand方法中传递两个参数, 根据如下源码可以知道第一个参数传递delete_aiding_data,第二个参数传递null即可。 @Override public boolean sendExtraCommand(String command, Bundle extras) { long identity = Bin...原创 2019-05-09 10:17:17 · 1055 阅读 · 0 评论 -
Android源码分析(十四)----如何使用SharedPreferencce保存数据
一:SharedPreference如何使用此文章只是提供一种数据保存的方式, 具体使用场景请根据需求情况自行调整。 EditText添加saveData点击事件, 保存数据。diff --git a/res/layout/activity_voicemail_settings.xml b/res/layout/activity_voicemail_settings.xmlinde...原创 2018-08-27 19:55:30 · 2812 阅读 · 0 评论 -
Android源码分析(十三)----SystemUI下拉状态栏如何添加快捷开关
一:如何添加快捷开关源码路径:frameworks/base/packages/SystemUI/res/values/config.xml 添加headset快捷开关,参考如下修改。Index: res/values/config.xml===================================================================--- ...原创 2018-08-23 22:21:47 · 6613 阅读 · 0 评论 -
Android源码分析(十二)-----Android源码中如何自定义TextView实现滚动效果
一:如何自定义TextView实现滚动效果继承TextView基类重写构造方法修改isFocused()方法,获取焦点。/* * Copyright (C) 2015 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * ...原创 2018-08-14 21:30:04 · 4428 阅读 · 0 评论 -
Android源码分析(十一)-----Android源码中如何引用aar文件
一:aar文件如何引用系统Settings中引用bidehelper-1.1.12.aar 文件为例 源码地址:packages/apps/Settings/Android.mkLOCAL_PATH:= $(call my-dir)include $(CLEAR_VARS)LOCAL_SRC_FILES := \ $(call all-logtags-files...原创 2018-08-03 19:46:57 · 6644 阅读 · 0 评论 -
Android源码分析(十)-----关机菜单中如何添加飞行模式选项
一:关机菜单添加飞行模式选项源码路径:frameworks/base/core/res/res/values/config.xml 增加<item>airplane</item> <!-- Defines the default set of global actions. Actions may still be disabled or hid...原创 2018-08-02 20:34:07 · 4979 阅读 · 0 评论 -
Android源码分析(九)-----如何修改Android系统默认时间
一 : 修改Android系统默认时间源码路径:frameworks/base/services/java/com/android/server/SystemServer.java 主要变量EARLIEST_SUPPORTED_TIME // The earliest supported time. We pick one day into 1970, to // ...原创 2018-07-24 19:21:04 · 7347 阅读 · 0 评论 -
Android源码分析(八)-----系统启动流程&IPC简述
一 :系统启动流程图从下往上依次启动linux kernel –>zygote–>SystemServer–>NativeService–>AndroidService 二 : IPC通信IPC(Inter-Process Communication)通信,是跨越两个不同进程(Process)之通信。 一般而言,一个Android应用程序里的各组件(如Ac...原创 2018-04-27 18:44:10 · 8240 阅读 · 0 评论 -
Android源码分析(七)-----如何解决java编译版本问题
一 : 问题描述Your version is: java version “1.6.0_31” Java(TM) SE Runtime Environment (build 1.6.0_31-b04) Java HotSpot(TM) 64-Bit Server VM (build 20.6-b01, mixed mode). The required version is: “1.7.x...原创 2018-02-12 13:22:57 · 47504 阅读 · 0 评论 -
Android源码分析(六)-----蓝牙Bluetooth源码目录分析
一 :Bluetooth 的设置应用packages\apps\Settings\src\com\android\settings\bluetooth* 蓝牙设置应用及设置参数,蓝牙状态,蓝牙设备等。BluetoothDevicePreference.java 顾名思义,蓝牙设备首选项,也就是蓝牙设备的配置信息,比如是否连接,是否配对,是否可见等等。该类继承了preference类,主...原创 2018-02-12 12:52:20 · 48846 阅读 · 1 评论 -
Android源码分析(五)-----如何从架构师的角度去设计Framework框架
一 : 架构与程序软件架构是一种思维方式,而程序只是实现思维方式的一种手段,代码固然重要,但是若没有整体的思维架构,一切程序都如水中浮萍。二 : 框架如何设计暂时抛开Android Framework框架不谈,我们回想一下JavaWeb的核心思想mvc架构。what?这又是什么东西?好吧,不知道mvc架构的百度一下,只能帮你这些了……. mvc主要是模型、视图、控制器。模型层...原创 2018-02-07 17:13:08 · 54539 阅读 · 0 评论 -
Android源码分析(四)-----Android源码编译及刷机步骤
一 : 获取源码:每个公司服务器地址不同,以如下源码地址为例: http://10.1.14.6/android/Qualcomm/msm89xx/branches/msm89xx svn环境执行: svn checkout http://10.1.14.6/android/Qualcomm/msm89xx/branches/msm89xx 或者svn co http://10原创 2018-02-06 13:35:44 · 52504 阅读 · 0 评论 -
Android源码分析(三)-----系统框架设计思想
一 : 术在内而道在外Android系统的精髓在源码之外,而不在源码之内,代码只是一种实现人类思想的工具,仅此而已……近来发现很多关于Android文章都是以源码的方向入手分析Android这个系统,最终结果可想而知,甚是凄惨。正所谓自信满满的来,一脸懵逼的走。 想要真正了解Android系统,首先一定要站在更高的层次上做分析,以设计者的角度去思考。如果让你去设计Android系统,你会原创 2018-02-02 11:14:26 · 54491 阅读 · 1 评论 -
Android源码分析(二)-----如何编译修改后的framework资源文件
一 : 编译framework资源文件如果修改android framework资源文件,需要先编译资源文件,然后再编译framework才可以正常引用, 进入项目目录 cd work/source/frameworks/base/core/res/ 执行mm 编译 framework-res.apk(原生或高通) 编译完后com.android.internal.R中会生成资源的引用。原创 2018-01-30 10:59:12 · 56953 阅读 · 1 评论 -
Android源码分析(一)-----如何快速掌握Android编译文件
一 : Android.mk文件概述主要向编译系统指定相应的编译规则。会被解析一次或多次。因此尽量减少源码中声明变量,因为这些变量可能会被多次定义从而影响到后面的解析。这个文件的语法会把源代码组织成模块,每个模块属于下列类型之一:- APK程序:一般的Android程序,编译打包生成apk文件。- JAVA库:java类库,编译打包生成jar包文件。- C\C++应用程序:可执行的C/原创 2018-01-28 13:50:32 · 54635 阅读 · 0 评论