IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> Android开发环境说明(一) -> 正文阅读

[移动开发]Android开发环境说明(一)

Android开发环境说明(一)

1.AOSP版本信息

flagstaff@flagstaff-pc:~/aosp_r.lns/.repo/manifests$ git branch -a
* default
  remotes/m/android-11.0.0_r37 -> origin/android-11.0.0_r37
  remotes/m/android-11.0.0_r38 -> origin/android-11.0.0_r38

flagstaff@flagstaff-pc:~/aosp_r.lns/.repo/manifests$ git remote show origin
  ....
  Local branch configured for 'git pull':
    default merges with remote android-11.0.0_r38

2.Android编译信息

flagstaff@flagstaff-pc:~/aosp_r.lns$ source build/envsetup.sh
flagstaff@flagstaff-pc:~/aosp_r.lns$ lunch 30
test/flagstaffTest/BoardConfig.mk:4: warning: "flagstaff BoardConfig.mk is included
test/flagstaffTest/device.mk:11: warning: "flagstaff device.mk is included."

============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=11
TARGET_PRODUCT=aosp_x86_64
TARGET_BUILD_VARIANT=eng
TARGET_BUILD_TYPE=release
TARGET_ARCH=x86_64
TARGET_ARCH_VARIANT=x86_64
TARGET_2ND_ARCH=x86
TARGET_2ND_ARCH_VARIANT=x86_64
HOST_ARCH=x86_64
HOST_2ND_ARCH=x86
HOST_OS=linux
HOST_OS_EXTRA=Linux-5.11.0-43-generic-x86_64-Ubuntu-20.04.2-LTS
HOST_CROSS_OS=windows
HOST_CROSS_ARCH=x86
HOST_CROSS_2ND_ARCH=x86_64
HOST_BUILD_TYPE=release
BUILD_ID=RQ3A.210605.005
OUT_DIR=out
PRODUCT_SOONG_NAMESPACES=device/generic/goldfish device/generic/goldfish-opengl hardware/google/camera hardware/google/camera/devices/EmulatedCamera device/generic/goldfish device/generic/goldfish-opengl
============================================

3.测试代码目录

??不论出于什么目的基于AOSP进行功能开发都离不开编译、部署、运行这三步骤,对于这几个步骤Android则有其自己的一套的规则。每个模块则有专属的Android.mk、Android.bp来描述它的编译。在部署的时候会涉及是否打包到system/vendor/etc…,运行时Android则会检测将运行程序的sepolicy。为了将测试代码和AOSP代码隔离,测试代码的目录结构如下。

flagstaff@flagstaff-pc:~/aosp_r.lns/test/flagstaffTest$ tree
.
├── BoardConfig.mk
├── compatibility_matrix
├── device.mk
└── sepolicy

BoardConfig.mk
??同AOSP的BoardConfig.mk,用于放置板级配置。其被包含于device.mk

flagstaff@flagstaff-pc:~/aosp_r.lns/test/flagstaffTest$ cat device.mk
#For my Test
//file ~/aosp_r.lns/test/flagstaffTest/device.mk
...
include test/flagstaffTest/BoardConfig.mk
...

device.mk
??用于添加设备相关的配置信息,其被具体的产品所包含。测试时使用的lunch 30(x86_64),包含信息如下

--- a/target/product/aosp_x86_64.mk
+++ b/target/product/aosp_x86_64.mk
@@ -63,6 +63,7 @@ $(call inherit-product, $(SRC_TARGET_DIR)/board/generic_x86_64/device.mk)
 ifeq (aosp_x86_64,$(TARGET_PRODUCT))
 $(call inherit-product, $(SRC_TARGET_DIR)/product/gsi_release.mk)
 endif
+$(call inherit-product, test/flagstaffTest/device.mk)

compatibility_matrix
??该目录用于包含兼容矩阵信息。其中文件的内容则用来描述framework请求vendor需要提供的组件信息,也被称为FCM,其组件图如下:
在这里插入图片描述

??上图则引用自android的vintf 章节。
??在编译时则需要使用位于Android编译系统的关键字添加,其内容位于device.mk中

file:device.mk
...
DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE += \
        test/flagstaffTest/compatibility_matrix/framework_compatibility_matrix.xml
...

sepolicy
??用于添加sepolicy信息,sepolicy在Android4.4就被强制开启了,所以新增加的可执行程序/文件如果没有正确配置sepolicy,那么会被系统拒绝运行及访问。

flagstaff@flagstaff-pc:~/aosp_r.lns/test/flagstaffTest$ cat BoardConfig.mk
BOARD_VENDOR_SEPOLICY_DIRS += \
    test/flagstaffTest/sepolicy
...

??如果想详细了解作用及使用规则可以按官网的学习路线进行。
google sepolicy detail

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2021-12-28 23:02:56  更:2021-12-28 23:04:52 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 9:53:18-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码