AOSP 开发相关

[TOC]
目录
一、win系统连接Linux服务器
??1.rclone
??2.2.scp
二、AOSP代码拉取和编译
??1.拉取AOSP代码
??2.编译AOSP代码
??3.AOSP源码根目录结构
三、日常涉及

AOSP 开发相关

AOSP 是 "Android Open Source Project"(Android 开源项目)的缩写。它是 Android 操作系统的开源版本,由 Google 主导并维护。AOSP 的目的是为移动设备提供一个开放源代码平台,使得制造商、开发者和爱好者可以自由地修改和定制操作系统以满足不同的需求

一、win系统连接Linux服务器

一般当前电脑为win系统;代码服务器是Linux系统;提供账户(e.g. zhangsan)后同事会告诉你服务器ip(e.g. 192.168.11.251)通过ssh连接到企业代码服务器

ssh zhangsan@192.168.11.251

为了方便连接我们一般会将公钥添加到~/.ssh/authorized_keys文件中

在win系统中生成ssh公钥:

按Win键并输入cmd 回车

输入ssh-keygen,然后按下Enter键开始生成密钥。一直按Enter,直至结束会生成C:\Users\用户名\.ssh\id_rsa.pub里面

打开C:\Users\zhangsan\.ssh\id_rsa.pub复制里面内容 "ssh-rsa AAAAB3...."粘贴到服务器~/.ssh/authorized_keys文件中

1.rclone

为了方便win操作我们可以通过rclone挂载到本地,挂载可以参考:https://blog.csdn.net/qq_40205510/article/details/139270962

关键是配置rclone.conf

[mybucket]
type = sftp
host = 192.168.11.251
user = zhangsan
key_file = ~/.ssh/id_rsa
shell_type = unix
md5sum_command = md5sum
sha1sum_command = sha1sum

配置后可以通过下面 指令挂载

rclone mount mybucket:/mnt/HDD/zhangsan y: --cache-dir D:\cache\251  --vfs-cache-mode full --vfs-fast-fingerprint --dir-cache-time 1m --poll-interval 30s

2.scp

如果不用rclone挂载也可以直接通过scp指令进行文件操作

#服务器 拷贝到win D盘
scp zhangsan@192.168.11.251:~/my3567/packages/apps/DeskClock/Android.bp D:\cod_3576\Desk\platform_packages_apps_DeskClock\Android.bp 

# win D盘 拷贝到 服务器
scp D:\cod_3576\Desk\platform_packages_apps_DeskClock\Android.bp  zhangsan@192.168.11.251:~/my3567/packages/apps/DeskClock/Android.bp

二、AOSP代码拉取和编译

1.拉取AOSP代码

#格式 repo init -u <URL of the Android source repository> -b android-14.0.0_rXX
repo init --repo-url=https://mirrors.tuna.tsinghua.edu.cn/git/git-repo -u ssh://git@git.xxx -b rk3576 -m Android14.xml

repo sync

2.编译AOSP代码

source指令一般是固定的; lunch 后选择对应想编译的序号;./build.sh 后面参数需要根据自己需求,一般第一次需要全部编译;如果只修改部分通常用Au

source build/envsetup.sh 
lunch xx
./build.sh -Au -J12 

./build.sh 可用参数主要如下:

USAGE: [-U] [-CK] [-A] [-p] [-o] [-u] [-v VERSION_NAME]
WHERE: -U = build uboot
-C = build kernel with Clang
-K = build kernel
-A = build android
-p = will build packaging in IMAGE
-o = build OTA package
-u = build update.img
-v = build android with 'user' or 'userdebug'
-d = huild kernel dts name
-V = build version
-J = build jobs

有时候会 ./build_app.sh && ./build.sh -UCKAuo -J12 && package_ehome_ota

编译完成后img路径在 out/target/product/<device_name>/update.img; 有的路径可能不一样不如RK平台的在 rockdev\Image-rkxxx\update.img

如果只编译apk; 比如修改DeskClock可以cd packages/apps/DeskClock/ 修改后mm或mmp进行编译(注意需要已经source和lunch了) 编译后apk一般在out下

可以通过指令搜索find out -name DeskClock.apk 一般路径如下

out/target/product/<device_name>/product/app/DeskClock/DeskClock.apk

编译后的 APK有的是out/target/product/<device_name>/system/app/ 或 /data/app/

3.AOSP源码根目录结构

AOSP项目结构(简书): http://08643.cn/p/fa0099c934ae

AOSP源码根目录结构(阿里社区): https://developer.aliyun.com/article/1598811

android aosp文件目录详解(csdn): https://download.csdn.net/blog/column/10702459/137239388

三、日常涉及

系统应用主要的路径在 packages\apps和frameworks\base\packages

e.g. 修改系统的Ui效果 frameworks/base/packages/SystemUI

rameworks/base/packages/SettingsProvider/res/values/defaults.xml 里面的 def_screen_off_timeout 更改默认屏保时间

e.g. 修改默认屏保布局 packages/apps/DeskClock/res/layout/desk_clock_saver.xml

修改framewor常修改 frameworks\base\services\core\java\com\android\server

e.g. 修改系统默认音量可以在 com.android.server.audio.AudioService的构造方法中修改

修改ota流程 修改build\make\tools\releasetools

可能涉及ota_from_target_files.py;ota_utils.py等修改

此外有时候修改源码发现功能可能没生效;可能是overlay机制导致可以查看device/<manufacturer>/<device>/overlay/

<manufacturer> 是设备制造商的名字
<device> 是具体设备的代号或名称。

?著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,992评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,212评论 3 388
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事?!?“怎么了?”我有些...
    开封第一讲书人阅读 159,535评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,197评论 1 287
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,310评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,383评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,409评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,191评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,621评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,910评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,084评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,763评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,403评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,083评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,318评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,946评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,967评论 2 351

推荐阅读更多精彩内容

  • Android 是全球最受欢迎的移动操作系统,为手机、手表、平板电脑、电视等数十亿设备提供平台支持。Android...
    垂天雲阅读 980评论 0 0
  • Tcp/IP通信也是不安全的,在传输的时候也可能出现漏洞 查看正在运行的进程 adb shell ps -A |g...
    远远飘着云阅读 4,393评论 0 0
  • Android OTA升级,顾名思义是指over-the-air升级方式。通过在线下载安装包的形式,对整个系统进...
    yoloHuang阅读 9,925评论 3 3
  • 修改aosp三个的方面 系统app开发 framework层定制 native层定制 AOSP开发的覆盖面是非常广...
    RexHuang阅读 10,406评论 0 9
  • 此文章主要记录git/gerrit配置;MTK2601 AOSP Android5.1的编译以及应用开发。 1、g...
    苏恨阅读 1,710评论 0 2