Java知识分享网 - 轻松学习从此开始!    

Java知识分享网

Java1234官方群25:java1234官方群17
Java1234官方群25:838462530
        
SpringBoot+SpringSecurity+Vue+ElementPlus权限系统实战课程 震撼发布        

最新Java全栈就业实战课程(免费)

springcloud分布式电商秒杀实战课程

IDEA永久激活

66套java实战课程无套路领取

锋哥开始收Java学员啦!

Python学习路线图

锋哥开始收Java学员啦!
当前位置: 主页 > Java文档 > 安卓技术相关 >

Android Build System PDF 下载


分享到:
时间:2020-12-30 14:13来源:http://www.java1234.com 作者:转载  侵权举报
Android Build System PDF 下载
失效链接处理
Android Build System  PDF 下载


本站整理下载:
提取码:4h2h 
 
 
相关截图:
 
主要内容:



Objective
The primary goals of reworking the build system are (1) to make dependencies work more
reliably, so that when files need to rebuilt, they are, and (2) to improve performance of the
build system so that unnecessary modules are not rebuilt, and so doing a top-level build
when little or nothing needs to be done for a build takes as little time as possible.
Principles and Use Cases and Policy
Given the above objective, these are the overall principles and use cases that we will
support. This is not an exhaustive list.
Multiple Targets
It needs to be possible to build the Android platform for multiple targets. This means:
The build system will support building tools for the host platform, both ones that are
used in the build process itself, and developer tools like the simulator.
The build system will need to be able to build tools on Linux (definitely Goobuntu and
maybe Grhat), MacOS, and to some degree on Windows.
The build system will need to be able to build the OS on Linux, and in the short-term,
MacOS. Note that this is a conscious decision to stop building the OS on Windows.
We are going to rely on the emulator there and not attempt to use the simulator. This
is a requirement change now that the emulator story is looking brighter.
Non-Recursive Make
To achieve the objectives, the build system will be rewritten to use make non-recursively.
For more background on this, read Recursive Make Considered Harmful. For those that
don't want PDF, here is the Google translated version. Rapid Compile-Test Cycles
When developing a component, for example a C++ shared library, it must be possible to
easily rebuild just that component, and not have to wait more than a couple seconds for
dependency checks, and not have to wait for unneeded components to be built.
Both Environment and Config File Based Settings
2020/12/29 Android Build System
file:///Z:/ssd/qcm2290/build/core/build-system.html 2/17
To set the target, and other options, some people on the team like to have a configuration
file in a directory so they do not have an environment setup script to run, and others want
an environment setup script to run so they can run builds in different terminals on the
same tree, or switch back and forth in one terminal. We will support both.
Object File Directory / make clean
Object files and other intermediate files will be generated into a directory that is separate
from the source tree. The goal is to have make clean be "rm -rf " in the tree root directory.
The primary goals of this are to simplify searching the source tree, and to make "make
clean" more reliable.
SDK
The SDK will be a tarball that will allow non-OS-developers to write apps. The apps will
actually be built by first building the SDK, and then building the apps against that SDK. This
will hopefully (1) make writing apps easier for us, because we won't have to rebuild the OS
as much, and we can use the standard java-app development tools, and (2) allow us to
dog-food the SDK, to help ensure its quality. Cedric has suggested (and I agree) that apps
built from the SDK should be built with ant. Stay tuned for more details as we figure out
exactly how this will work.
Dependecies
Dependencies should all be automatic. Unless there is a custom tool involved (e.g. the
webkit has several), the dependencies for shared and static libraries, .c, .cpp, .h, .java, java
libraries, etc., should all work without intervention in the Android.mk file.
Wildcard source files
Wildcarding source file will be discouraged. It may be useful in some scenarios. The default
$(wildcard *) will not work due to the current directory being set to the root of the build tree.
Multiple targets in one directory
It will be possible to generate more than one target from a given subdirectory. For
example, libutils generates a shared library for the target and a static library for the host.
Makefile fragments for modules
Android.mk is the standard name for the makefile fragments that control the building of a
given module. Only the top directory should have a file named "Makefile".
Use shared libraries
Currently, the simulator is not built to use shared libraries. This should be fixed, and now is
a good time to do it. This implies getting shared libraries to work on Mac OS.


 

------分隔线----------------------------

锋哥公众号


锋哥微信


关注公众号
【Java资料站】
回复 666
获取 
66套java
从菜鸡到大神
项目实战课程

锋哥推荐