Android Development Environment: Difference between revisions

From Variscite Wiki
(7 intermediate revisions by 3 users not shown)
Line 2: Line 2:
--> {{#vardefine:RELEASE_PARAM|{{#urlget:release}}}} <!--
--> {{#vardefine:RELEASE_PARAM|{{#urlget:release}}}} <!--
--> {{#lst:Android_Platform_Customization|{{#var:RELEASE_PARAM|RELEASE_N7.1.1_1.0.0_VAR-SOM-MX6}}}} <!--
--> {{#lst:Android_Platform_Customization|{{#var:RELEASE_PARAM|RELEASE_N7.1.1_1.0.0_VAR-SOM-MX6}}}} <!--
--> {{PageHeader|{{#var:HARDWARE_NAME}} - Android {{#var:ANDROID_NAME}} {{#var:ANDROID_VERSION}} Creating Android Development Environment}} {{DocImage|category1={{#var:HARDWARE_NAME}}|category2=Android}} __toc__
--> {{PageHeader|{{#var:HARDWARE_NAME}} - {{#var:ANDROID_VERSION}} - Creating an Android Development Environment}} {{DocImage|category1=Android|category2={{#var:HARDWARE_NAME}}}} __toc__
== Host (PC) setup requirements ==


= Host PC requirements =
The host development environment for Android is based on Ubuntu and Debian, please install one of the following
The host development environment for Android is based on Ubuntu and Debian, please install one of the following
* Ubuntu version 14.04/16.04 64bit LTS
based on the matrix below,
** Ubuntu LTS 14.04 64 bit - Download it from : http://releases.ubuntu.com/14.04/ubuntu-14.04.6-desktop-amd64.iso
** Ubunut LTS 16.04 64 bit - Download it from : http://releases.ubuntu.com/16.04/ubuntu-16.04.6-desktop-amd64.iso
* Debian 8.4 64bit [https://www.debian.org/releases https://www.debian.org/releases]


We recommend to have physical build machine with at least below Hardware Configuration:
{| class="wikitable"
* CPU : Intel / AMD Quad Core or higher CPU cores with base frequency 2.3 Ghz or higher.
|-
* RAM : you need at least 16GB of RAM
! Android Version !! Recommended Host OS !! Download URL
* SSD (Recommended) : 450 GB OR  HDD : 500 GB Free space
|-
* Internet Connectivity
| Android - Marshmallow 6 or below || Ubuntu 14.04 LTS - 64bit || http://releases.ubuntu.com/14.04/ubuntu-14.04.6-desktop-amd64.iso
<span style="color:red">Note: </span>The build process requires about 135GB of free space. Before any build, make sure you have adequate free space available on HDD / SDD
|-
before starting any build. 
| Android - Nougat 7 to Android Oreo - 8|| Ubuntu 16.04 LTS - 64 bit || http://releases.ubuntu.com/16.04/ubuntu-16.04.6-desktop-amd64.iso
|-
| Android - Oreo 8 to Android 9 pie || Ubuntu 18.04 LTS - 64 bit || https://releases.ubuntu.com/18.04/ubuntu-18.04.6-desktop-amd64.iso
|-
| Android - Pie 9 to Android 12 || Ubuntu 20.04 LTS - 64 bit || https://releases.ubuntu.com/focal/ubuntu-20.04.5-desktop-amd64.iso
|}
<br>


<span style="color:red">Note: </span>Do not use other Ubuntu or Debian releases, than the ones recommended above.
Minimum hardware requirements for the build machine (A physical build machine is recommended):
* CPU: Intel / AMD 2.3 GHz Quad Core
* RAM: 16GB
* Swap: 32GB
* Free storage: 500 GB (SSD recommended)
* Internet connectivity
<br>
Notes:<br>
* The build process requires ~135GB of free storage space. Before starting a build, make sure you have adequate free space available.
You can create a bootable USB drive for installing the host OS. E.g.
* Using Windows: https://rufus.ie
* Using Linux: https://help.ubuntu.com/community/Installation/FromUSBStick


<span style="color:red">Note: </span>If you plan to use Virtual machines, make sure you have given at least '''16 GB RAM''' allocated to the Linux Virtual Machine.<br>
Docker Container Usage:
::Otherwise your build may fail, as Android build requires quite significant resources specialy during linking stage the RAM usage minimumm '''16 GB RAM''' is required.
If you want to use the Docker, the image can also be built under docker environment (Windows Container Not supported)
Please refer to  
https://github.com/varigit/var-host-docker-containers
And then follow the Android Build process


You could use USB pendrive to boot and install if you wish to,
= Install required packages on host PC =
* Windows : https://rufus.ie/ and give above ISO as source, and follow https://rufus.ie/ guide
* Linux Machine: https://help.ubuntu.com/community/Installation/FromUSBStick
 
Follow your Linux Distro specific wizards to install build OS.
=== Install required packages on host PC ===
Before you begin, make sure you installed correct version of build OS on your build machine.  
Before you begin, make sure you installed correct version of build OS on your build machine.  
You can verify by using below commands  
You can verify by using below commands  
Line 47: Line 59:
</pre>
</pre>


=== Install the OpenJDK ===
= Install the OpenJDK =
Android Nougat requires OpenJDK 8.
Android Nougat requires OpenJDK 8.


Line 65: Line 77:
  $ sudo update-alternatives --config java
  $ sudo update-alternatives --config java
  $ sudo update-alternatives --config javac
  $ sudo update-alternatives --config javac
= Using a docker container =
Variscite provides Docker containers that can be used for a development environment as an alternative to using a virtual machine or a dedicated computer.
To learn more, please see Variscite's [[Docker_Build_Environment | Docker Build Environment]] guide.

Revision as of 15:26, 23 November 2022

VAR-SOM-MX6 - N7.1.1 - Creating an Android Development Environment

Host PC requirements

The host development environment for Android is based on Ubuntu and Debian, please install one of the following based on the matrix below,

Android Version Recommended Host OS Download URL
Android - Marshmallow 6 or below Ubuntu 14.04 LTS - 64bit http://releases.ubuntu.com/14.04/ubuntu-14.04.6-desktop-amd64.iso
Android - Nougat 7 to Android Oreo - 8 Ubuntu 16.04 LTS - 64 bit http://releases.ubuntu.com/16.04/ubuntu-16.04.6-desktop-amd64.iso
Android - Oreo 8 to Android 9 pie Ubuntu 18.04 LTS - 64 bit https://releases.ubuntu.com/18.04/ubuntu-18.04.6-desktop-amd64.iso
Android - Pie 9 to Android 12 Ubuntu 20.04 LTS - 64 bit https://releases.ubuntu.com/focal/ubuntu-20.04.5-desktop-amd64.iso


Minimum hardware requirements for the build machine (A physical build machine is recommended):

  • CPU: Intel / AMD 2.3 GHz Quad Core
  • RAM: 16GB
  • Swap: 32GB
  • Free storage: 500 GB (SSD recommended)
  • Internet connectivity


Notes:

  • The build process requires ~135GB of free storage space. Before starting a build, make sure you have adequate free space available.

You can create a bootable USB drive for installing the host OS. E.g.

Docker Container Usage: If you want to use the Docker, the image can also be built under docker environment (Windows Container Not supported) Please refer to https://github.com/varigit/var-host-docker-containers And then follow the Android Build process

Install required packages on host PC

Before you begin, make sure you installed correct version of build OS on your build machine. You can verify by using below commands

$  uname -a | grep "x86_64"

You should get output like below

Linux user-desktop 4.15.0-72-generic #81~16.04.1-Ubuntu SMP Tue Nov 26 16:34:21 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

Notice the "x86_64" string, if you have installed other (32 bit version) such OS flavor for Android build is not supported currently.


$ sudo apt-get update
$ sudo apt-get -y install gnupg flex bison gperf build-essential zip gcc-multilib g++-multilib 
$ sudo apt-get -y install libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev
$ sudo apt-get -y install ccache libgl1-mesa-dev libxml2-utils xsltproc unzip bc
$ sudo apt-get -y install uuid uuid-dev zlib1g-dev liblz-dev liblzo2-2 liblzo2-dev lzop git curl
$ sudo apt-get -y install u-boot-tools mtd-utils android-tools-fsutils device-tree-compiler gdisk m4 libz-dev

Install the OpenJDK

Android Nougat requires OpenJDK 8.

To install it:

$ sudo apt-get update
$ sudo apt-get install openjdk-8-jdk


If your Ubuntu version is missing the package (which shouldn't happen), add the PPA repository and run the previous commands again:

$ sudo add-apt-repository ppa:openjdk-r/ppa


Update the default Java version by running:

$ sudo update-alternatives --config java
$ sudo update-alternatives --config javac

Using a docker container

Variscite provides Docker containers that can be used for a development environment as an alternative to using a virtual machine or a dedicated computer.

To learn more, please see Variscite's Docker Build Environment guide.