请选择 进入手机版 | 继续访问电脑版

雨滴科技技术论坛

 找回密码
 立即注册
查看: 118|回复: 1

Android9编译 -- 7,8,9一路在改动编译系统

[复制链接]

413

主题

1646

帖子

6504

积分

论坛元老

Rank: 8Rank: 8

积分
6504
扫一扫,手机访问本帖
发表于 2020-1-16 14:35:33 | 显示全部楼层 |阅读模式
Android7.0以前:使用makefile来组织编译构建系统
Android7.0:为了改善make的build效率,将make工具变更为ninja,ninja依赖.ninja,就像make依赖makefile一样。当时Android7.0工程里面既存了大量的makefile,所以为了使用ninja,同时避免makefile大规模改造,开发了kati将makefile翻译成.ninja文件
Android8.0 改造makefile,引入Android.bp,build的过程还是使用ninja,目的是逐步替换掉make-makefile这一build系统
由于引入了bp文件,而最终的build过程依赖的还是.ninja文件,这需要一个转换过程,由此创建了Soong,负责将Android.bp转换为.ninja文件,同时完成选择编译、解析配置的功能,如通过编译开关进行选择性编译。
Android9.0 系统主体编译过程已经完全由Soong+Ninja+Kati控制,由Kati将Android.mk转换为.ninja;由Soong将Android.bp转换为.ninja,由Ninja读取.ninja文件,完成最终的build过程。
Soong也生成了一个androidmk程序,用来将Android.mk转换为Android.bp文件


------------------------------------
从对方服务器上拉下来的android9代码,没办法编译
QSSI: not enabled for msm8953_64 target as /release/QSSI/QSSI_enforced_targets_list.txt was not found.
ninja: no work to do.
[1/4] test android/soong/cc/config
FAILED: out/soong/.bootstrap/soong-cc-config/test/test.passed
out/soong/.bootstrap/bin/gotestrunner -p ./build/soong/cc/config -f out/soong/.bootstrap/soong-cc-config/test/test.passed -- out/soong/.bootstrap/soong-cc-config/test/test -test.short
panic: read /home/chenyq/m620: is a directory
goroutine 1 [running]:
android/soong/cc/config.setSdclangVars()
        /home/chenyq/m620/build/soong/cc/config/global.go:268 +0x1ef5
android/soong/cc/config.init.1()
        /home/chenyq/m620/build/soong/cc/config/global.go:190 +0xa6c
ninja: build stopped: subcommand failed.
14:24:02 soong bootstrap failed with: exit status 1
#### failed to build some targets (1 seconds) ####
#### hidl-gen compilation failed, check above errors ####





回复

使用道具 举报

413

主题

1646

帖子

6504

积分

论坛元老

Rank: 8Rank: 8

积分
6504
 楼主| 发表于 2020-1-16 15:54:31 | 显示全部楼层
搜到一个解决办法:
不知道靠谱不靠谱。 我先下载高通的版本,不行再试试这个办法。






1.先要在任意一个vendorsetup.sh中添加变量。
export SDCLANG_AE_CONFIG=“device/qcom/common/sdclang.json”
我这里添加在device/qcom/common/vendorsetup.sh
2.添加sdclang.json
位置要和上面的路径一致,内容举例如下所示。
{
“default”: {
“SDCLANG”: false,
“SDCLANG_PATH”: “vendor/qcom/proprietary/llvm-arm-toolchain-ship/3.9/bin”,
“SDCLANG_PATH_2”: “vendor/qcom/proprietary/llvm-arm-toolchain-ship/4.0/bin”,
“SDCLANG_FLAGS”: “-Wno-vectorizer-no-neon”,
“SDCLANG_FLAGS_2”: “-Wno-vectorizer-no-neon”
},
“msmnile”: {
“SDCLANG”: true,
“SDCLANG_PATH”: “vendor/qcom/proprietary/llvm-arm-toolchain-ship/3.9/bin”,
“SDCLANG_PATH_2”: “vendor/qcom/proprietary/llvm-arm-toolchain-ship/4.0/bin”,
“SDCLANG_FLAGS”: “-Wno-vectorizer-no-neon”,
“SDCLANG_FLAGS_2”: “-Wno-vectorizer-no-neon”
},
“msm8998”: {
“SDCLANG”: true,
“SDCLANG_PATH”: “device/qcom/common/llvm-arm-toolchain-ship/4.0/bin”,
“SDCLANG_PATH_2”: “device/qcom/common/llvm-arm-toolchain-ship/4.0/bin”,
“SDCLANG_FLAGS”: “-Wno-vectorizer-no-neon”,
“SDCLANG_FLAGS_2”: “-Wno-vectorizer-no-neon”
},
}
3.sdclang对应的工具可使用OnePlus在github上的开源代码中的工具。
网址为:
https://github.com/OnePlusOSS/an ... tree/oneplus6/9.0.0
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

在线客服
在线咨询
咨询热线
0755-26787502-8006/8016
扫一扫二维码
直接访问本站

QQ|Archiver|手机版|小黑屋|雨滴科技  

GMT+8, 2020-2-22 02:38 , Processed in 0.063718 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表