The XDAndroid Project is no longer active.
This site provides archived information from while the project was under development. Some links may no longer function.

Difference between revisions of "Build Configuration"

From The XDAndroid Project
Jump to navigation Jump to search
[unchecked revision][pending revision]
(Created page with 'With the XDAndroid source checked out, the build system must be configured to build an XDAndroid product for one of the supported targets. Build system conf…')
 
 
(10 intermediate revisions by 6 users not shown)
Line 1: Line 1:
With the XDAndroid source checked out, the build system must be configured to build an XDAndroid product for one of the [[Supported Devices|supported targets]]. Build system configuration is done via a single file in the root of the XDAndroid source tree whose name is <tt>buildspec.mk</tt>.
+
With the XDAndroid source checked out, the build system must be configured to build an XDAndroid product for one of the [[Supported Devices|supported targets]]. Build system configuration is done via a single file in the root of the XDAndroid source tree whose name is <tt>buildspec.mk</tt>. The following configuration documentation applies to <tt>gingerbread</tt> and later branches.
 +
 
 +
<div class="warning">'''NOTE''' For build configuration options for the <tt>froyo</tt> branch, please see [[Froyo Build Configuration]].</div>
 +
<div class="warning">'''NOTE''' For build configuration options for the <tt>eclair</tt> branch, please see [[Eclair Build Configuration]].</div>
  
 
The Android build system will use <tt>buildspec.mk</tt> to pass a variety of variables to the <tt>make</tt> program which parses all of the Makefile recipes that comprise the build system. Most of the variables supported by <tt>buildspec.mk</tt> are self-explanatory, especially after becoming familiar with the basics of an Android system.
 
The Android build system will use <tt>buildspec.mk</tt> to pass a variety of variables to the <tt>make</tt> program which parses all of the Makefile recipes that comprise the build system. Most of the variables supported by <tt>buildspec.mk</tt> are self-explanatory, especially after becoming familiar with the basics of an Android system.
  
 
==Build System Configuration==
 
==Build System Configuration==
Simply create a blank plain-text file in the root of your XDAndroid source tree. Name the file <tt>buildspec.mk</tt> and edit it with your preferred text editor.
+
Simply create a blank plain-text file in the root of your XDAndroid source tree. Name the file <tt>buildspec.mk</tt> and edit it with your preferred text editor. In order to find some time for myself I decided to search for service that could supply me with the prime quality [http://www.qualityessay.com/custom-essays.html custom essays] at prices that would be reasonable enough. The final choice was QualityEssay.Com as they did have an excellent reputation.
  
 
Variables are each defined on their own single line. Similar to other configuration files, anything which proceeds a pound sign (#) is ignored as a comment.
 
Variables are each defined on their own single line. Similar to other configuration files, anything which proceeds a pound sign (#) is ignored as a comment.
Line 10: Line 13:
 
To instruct the build system to generate an XDAndroid system image, the following variables '''must''' be defined in <tt>buildspec.mk</tt>...
 
To instruct the build system to generate an XDAndroid system image, the following variables '''must''' be defined in <tt>buildspec.mk</tt>...
  
<syntaxhighlight lang="make"># Configure for an XDAndroid release engineering target.
+
<syntaxhighlight lang="make"># Configure for an XDAndroid user-debugging target.
TARGET_PRODUCT := xdandroid_msm_us
+
TARGET_PRODUCT := full_msm
TARGET_BUILD_VARIANT := eng
+
TARGET_BUILD_VARIANT := userdebug
TARGET_BUILD_TYPE := release</syntaxhighlight>
+
TARGET_BUILD_TYPE := release
 +
TARGET_USERIMAGES_USE_EXT2 := true
 +
BUILD_LIB_HTC_ACOUSTIC_WINCE := true
 +
</syntaxhighlight>
  
The following table outlines some optional <tt>buildspec.mk</tt> flags which are used often.
+
The final line in the above example, which enables <tt>TARGET_USERIMAGES_USE_EXT2</tt>, will have the Android build system generate ext2 filesystems. On the live device, these filesystems are mounted writable. The XDAndroid boot process supports an ext2-based system partition image, named <tt>[[system.ext2]]</tt> on the SD card. This is highly recommended.
  
{|class="slimtable"
+
After completing the build configuration and saving the <tt>buildspec.mk</tt> file, you can proceed with [[Building and Packaging]] the system.
!Variable
 
!Effect
 
|-
 
|<tt>USE_GOOGLE_APPS := true</tt>
 
|Add extracted, proprietary Google apps to the system image.
 
|-
 
|<tt>KITCHEN_BUILD := true</tt>
 
|Add absolutely no proprietary bits to the system image. Used for kitchen base images.
 
|-
 
|<tt>WITH_JIT := true</tt>
 
|Enable the Just-in-Time compiler for the Dalvik JM.
 
|-
 
|<tt>TARGET_USERIMAGES_USE_EXT2 := true</tt>
 
|Build an ext2 system image (currently needed along with KITCHEN_BUILD for kitchen base images).
 
|}
 

Latest revision as of 14:39, 23 February 2012

With the XDAndroid source checked out, the build system must be configured to build an XDAndroid product for one of the supported targets. Build system configuration is done via a single file in the root of the XDAndroid source tree whose name is buildspec.mk. The following configuration documentation applies to gingerbread and later branches.

NOTE For build configuration options for the froyo branch, please see Froyo Build Configuration.
NOTE For build configuration options for the eclair branch, please see Eclair Build Configuration.

The Android build system will use buildspec.mk to pass a variety of variables to the make program which parses all of the Makefile recipes that comprise the build system. Most of the variables supported by buildspec.mk are self-explanatory, especially after becoming familiar with the basics of an Android system.

Build System Configuration

Simply create a blank plain-text file in the root of your XDAndroid source tree. Name the file buildspec.mk and edit it with your preferred text editor. In order to find some time for myself I decided to search for service that could supply me with the prime quality custom essays at prices that would be reasonable enough. The final choice was QualityEssay.Com as they did have an excellent reputation.

Variables are each defined on their own single line. Similar to other configuration files, anything which proceeds a pound sign (#) is ignored as a comment.

To instruct the build system to generate an XDAndroid system image, the following variables must be defined in buildspec.mk...

# Configure for an XDAndroid user-debugging target.
TARGET_PRODUCT := full_msm
TARGET_BUILD_VARIANT := userdebug
TARGET_BUILD_TYPE := release
TARGET_USERIMAGES_USE_EXT2 := true
BUILD_LIB_HTC_ACOUSTIC_WINCE := true

The final line in the above example, which enables TARGET_USERIMAGES_USE_EXT2, will have the Android build system generate ext2 filesystems. On the live device, these filesystems are mounted writable. The XDAndroid boot process supports an ext2-based system partition image, named system.ext2 on the SD card. This is highly recommended.

After completing the build configuration and saving the buildspec.mk file, you can proceed with Building and Packaging the system.