Android中Framework重要文件路径

## 相关文件路径
1. ActivityManagerService
* 用来管理应用程序生命周期并提供常用的导航回退功能。
* frameworks/base/services/core/java/com/android/server/am/ActivityManagerService.java
2. WindowManagerService
* 提供一些我们访问手机屏幕的方法。屏幕的透明度、亮度、背景。
* frameworks/base/services/core/java/com/android/server/wm/WindowManagerService.java

3. PowerManagerService
* 提供一些管理电源配置的方法
* frameworks\base\services\core\java\com\android\server\power/PowerManagerService.java

4. PhoneWindowManager
* 提供一些接受Keyevent/code的值
* frameworks\base\services\core\java\com\android\server\policy/PhoneWindowManager.java
5. ContentProviders
* 使得应用程序可以访问另一个应用程序的数据(如联系人数据库), 或者共享它们自己的数据。
6. NotificationManagerService
* 使得应用程序可以在状态栏中显示自定义的提示信息。  frameworks/base/services/core/java/com/android/server/notification/NotificationManagerService.java
7. PackageManagerService
* 提供对系统的安装包的访问。包括安装、卸载应用,查询permission相关信息,查询Application相关信息等。
* frameworks/base/services/core/java/com/android/server/pm/PackageManagerService.java
8. TelephonyManager
* 主要提供了一系列用于访问与手机通讯相关的状态和信息的方法,查询电信网络状态信息,sim卡的信息等。
*  frameworks/base/telephony/java/android/telephony/TelephonyManager.java
9. ResourceManager
* 提供非代码资源的访问,如本地字符串,图形,和布局文件(Layout files )。
* sdk/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/manager/ResourceManager.java
*  libcore/ojluni/src/main/java/sun/net/ResourceManager.java
10. LocationManager
* 提供设备的地址位置的获取方式。很显然,GPS导航肯定能用到位置服务。
*  frameworks/base/location/java/android/location/LocationManager.java
* packages/apps/Camera2/src_pd/com/android/camera/app/LocationManager.java
* packages/apps/LegacyCamera/src/com/android/camera/LocationManager.java
* frameworks/base/services/core/java/com/android/server/LocationManagerService.java

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
Android 9及以上版本Android源码使用Soong构建系统管理,需要使用`Android.bp`文件来导入aar包。以下是在framework使用`Android.bp`文件导入aar包的步骤: 1. 在frameworks/base目录下创建一个`prebuilts`文件夹,并在该文件夹下创建一个`libs`文件夹。 2. 将aar包复制到`libs`文件夹。 3. 在frameworks/base下创建一个`Android.bp`文件,并添加以下代码: ``` prebuilt_aar { name: "your-aar-name", aar: "prebuilts/libs/your-aar-file-name.aar", //aar包包含的jar文件 jars: [ "your-aar-name.jar", ], //aar包包含的so库 shared_libs: [ "lib1", "lib2", ], //aar包包含的资源文件 res: [ "res1", "res2", ], //aar包包含的assets文件 assets: [ "assets1", "assets2", ], //aar包包含的jni库 target: { android: { //jni库的路径 srcs: [ "jni/armeabi-v7a/lib1.so", "jni/armeabi-v7a/lib2.so", ], }, }, } ``` 其,`your-aar-name`是你要定义的aar包的名称,`your-aar-file-name`是你要导入的aar文件名,`lib1`和`lib2`是aar包所依赖的so库的名称,`res1`和`res2`是aar包所包含的资源文件的名称,`assets1`和`assets2`是aar包所包含的assets文件的名称。 4. 在`Android.bp`文件添加以下代码,将aar包引入到编译系统: ``` cc_defaults { name: "your-module-name_defaults", shared_libs: [ "your-aar-name", ], //其他配置项 } ``` 其,`your-module-name`是你要定义的模块名。 5. 重新编译Android源码,即可在framework使用aar包提供的功能。 需要注意的是,由于aar包可能包含了一些Android SDK已经存在的类,为了避免出现重复定义的情况,建议在使用aar包的类时,使用全限定名来引用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Brave & Real

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值