Android make sdk 编译错误及解决

目的

编译Android sdk。注意不是编译Android img,如果想了解两者区别,可以看上一篇:https://blog.csdn.net/CSDN1013/article/details/106213690

 

问题

1. 编译步骤: 

$ . build/envsetup.sh
$ lunch
$ make -j8 sdk

2. 错误提示:

development/build/sdk-linux-x86.atree:36: couldn't locate source file: lib64/libaapt2_jni.so
development/build/sdk.atree:53: couldn't locate source file: bin/dmtracedump
development/build/sdk.atree:54: couldn't locate source file: bin/etc1tool
development/build/sdk.atree:84: couldn't locate source file: bin/split-select
development/build/sdk.atree:89: couldn't locate source file: bin/bcc_compat
development/build/sdk.atree:129: couldn't locate source file: bin/apksigner
development/build/sdk.atree:130: couldn't locate source file: framework/apksigner.jar
development/build/sdk.atree:133: couldn't locate source file: bin/dx
development/build/sdk.atree:134: couldn't locate source file: framework/dx.jar
development/build/sdk.atree:209: couldn't locate source file: framework/layoutlib-legacy.jar
development/build/sdk.atree:235: couldn't locate source file: system-qemu.img
development/build/sdk.atree:236: couldn't locate source file: vendor-qemu.img
development/build/sdk.atree:238: couldn't locate source file: data/misc
system/app/EmulatorSmokeTests/EmulatorSmokeTests.apk
ninja: build stopped: subcommand failed.
10:51:16 ninja failed with: exit status 1
#### failed to build some targets (04:38:30 (hh:mm:ss)) ####

3. 解决方法:

整体思路:出现上述错误后,分别编译这些系统未能找到工具。然后,再次编译sdk。

解决步骤:

#第一,在出现错误提示的终端里继续编译
#如果在另一个终端里编译,则需要先设置Android编译环境

#Build missing tools

$ make dmtracedump

[100% 12/12] Install: out/host/linux-x86/bin/dmtracedump

#### build completed successfully (03:20 (mm:ss)) ####

$ make etc1tool

[100% 52/52] Install: out/host/windows-x86/bin/etc1tool.exe

#### build completed successfully (18 seconds) ####

$ make split-select

[100% 135/135] Install: out/host/windows-x86/bin/split-select.exe

#### build completed successfully (40 seconds) ####

$ make bcc_compat

[100% 1164/1164] Install: out/host/windows-x86/bin/bcc_compat.exe

#### build completed successfully (15:52 (mm:ss)) ####

$ make apksigner

[100% 8/8] Install: out/host/linux-x86/bin/apksigner

#### build completed successfully (04:05 (mm:ss)) ####

$ make dx

[100% 9/9] Install: out/host/linux-x86/bin/dx

#### build completed successfully (15 seconds) ####

$ make libaapt2_jni

[100% 531/531] build out/host/windows-x86/obj64/SHARED_LIBRARIES/libaapt2_jni_intermediates/libaapt2_jni.dll.toc

#### build completed successfully (03:20 (mm:ss)) ####

$ make layoutlib-legacy

[100% 9/9] Install: out/host/linux-x86/framework/layoutlib-legacy.jar

#### build completed successfully (9 seconds) ####


#第二,注释development/build/sdk.atree文件

----data/misc     system-images/${PLATFORM_NAME}/${TARGET_CPU_ABI}/data/misc
----system-qemu.img   system-images/${PLATFORM_NAME}/${TARGET_CPU_ABI}/system.img
----vendor-qemu.img   system-images/${PLATFORM_NAME}/${TARGET_CPU_ABI}/vendor.img

++++#data/misc    system-images/${PLATFORM_NAME}/${TARGET_CPU_ABI}/data/misc
++++#system-qemu.img   system-images/${PLATFORM_NAME}/${TARGET_CPU_ABI}/system.img
++++#vendor-qemu.img   system-images/${PLATFORM_NAME}/${TARGET_CPU_ABI}/vendor.img

$make -j8 sdk


 

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
开发工具在软件开发生命周期中扮演着至关重要的角色,它们旨在简化和加速从概念设计到产品部署的各个环节。以下是开发工具的主要作用: 代码编写与编辑: 提供集成开发环境(IDE),如Visual Studio、Eclipse、Android Studio和Sublime Text等,这些工具集成了文本编辑器,支持语法高亮、自动补全、代码片段管理和版本控制等功能,有助于开发者高效编写和维护代码。 项目管理: 支持项目创建、组织、构建自动化以及依赖管理,确保不同模块和组件之间的协调一致。 编译与构建: 包括编译器、构建工具(如Make、Gradle、Maven)等,用于将源代码转换为可执行文件或库,并进行资源打包、优化等处理。 调试与测试: 集成调试器允许开发者逐行执行代码,设置断点、查看变量值、跟踪调用堆栈等,帮助定位并修复代码中的错误。 测试框架和工具则协助开发者编写和运行单元测试、集成测试及性能测试,确保软件质量。 版本控制与协作: 通过集成Git、SVN等版本控制系统,支持团队成员间的代码共享、分支管理、合并请求和冲突解决。 可视化设计与原型制作: 对于UI/UX设计,有界面设计工具,如Sketch、Adobe XD,可以帮助设计师快速构建应用程序界面模型,并生成规范的设计稿供开发人员参考实现。 跨平台支持: 跨平台开发工具如Xamarin、React Native和Flutter,让开发者使用一种语言或框架编写可以在多个操作系统上运行的应用程序。 文档编写与API管理: 文档生成工具可以自动生成代码注释文档,便于团队内外理解和使用项目代码。 API管理工具则方便开发者创建、测试、发布和维护API接口。 持续集成与持续部署(CI/CD): Jenkins、Travis CI、GitHub Actions等工具负责自动化构建、测试和部署流程,提高交付效率和可靠性。 数据库管理与ORM工具: 数据库客户端工具用于连接、查询、更新数据库,ORM(对象关系映射)工具简化了数据操作和持久化层的开发工作。 总之,开发工具极大地提升了软件工程师的工作效率,保证了开发过程中的准确性与一致性,同时也促进了团队合作,使得软件开发更系统化、规范化和工业化。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值