Feature | Specification |
---|---|
CPU | Quad-core 1.4 GHz |
Chipset | Exynos 3 Quad 3470 |
GPU | Mali-400MP4 |
Memory | 1.5GB RAM |
Shipped Android Version | (4.4.2) |
Storage | 16 GB |
MicroSD | Up to 64GB |
Battery | 2100 mAh |
Dimensions | 131.1 x 64.8 x 9.1 mm |
Display | 720 x 1280 pixels |
Camera | 8 MP, 3264 × 2448 pixels |
Release Date | August 2014 |
Although this device is not officially supported, the build-steps are not that different between devices. Most of the information on this "How to build" page also apply to this device: https://wiki.lineageos.org/devices/herolte/build
Requirements:
- At least 8GB RAM (build will stop without a warning with 6GB)
- 65GB (sources and build results) + 35GB (CCACHE)
Perform the following steps from the above "How to build":
-
Install the SDK
-
Install the Build Packages
-
Create the directories
$ mkdir -p ~/bin $ mkdir -p ~/android/system
Note: you can replace the build root "
/android/system" with any directory you like. Let's assume it is "/android/system" in the following steps. -
Install the repo command
$ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo $ chmod a+x ~/bin/repo
-
Put the ~/bin directory in your path of execution
-
Initialize the LineageOS source repository
$ cd ~/android/system/ $ repo init -u https://github.com/LineageOS/android.git -b lineage-15.1
-
Download the source code
$ repo sync
-
Patch sources
8.1. Clone the local manifests with the following commands:
$ cd ~/android/system/ $ git clone https://github.com/cm-3470/android_.repo_local_manifests -b lineage-15.1 .repo/local_manifests
However if you already obtained local manifests from a different device, just copy at least the following files into .repo/local_manifests :
- https://github.com/cm-3470/android_.repo_local_manifests/blob/lineage-15.1/kminilte.xml
- https://github.com/cm-3470/android_.repo_local_manifests/blob/lineage-15.1/common.xml
8.2. Fetch device specific repos by synching all repos
$ repo sync
8.3. Apply device specific patches (also repeat this step whenever the patches in the directory "patch" are modified):
$ cd device/samsung/smdk3470-common/patch $ ./apply.sh
-
Prepare the device-specific code
This step is device specific and hence different from the "How to build".
$ source build/envsetup.sh $ lunch lineage_kminilte-userdebug
These commands only have a temporary effect, you will have to perform these commands again, when you use a new terminal window.
-
(optional) Turn on caching to speed up build
Only if you want to rebuilt LineageOS multiple times you also should enable CCACHE. E.g. by adding the following lines to your $HOME/.bashrc:
export USE_CCACHE=1 export ANDROID_CCACHE_DIR="/mnt/ccache" # Replace with your ccache dir export ANDROID_CCACHE_SIZE="50G" # Replace with your ccache size
-
(optional) Setup the Java VM heap size for the Jack server: Java uses a default max. heap size of 1/4 of the installed RAM. Jack needs a minimum of 4 GB to work properly with Android N, so if your build environment has < 16 GB RAM you should add the following line to your $HOME/.bashrc:
export ANDROID_JACK_VM_ARGS="-Dfile.encoding=UTF-8 -XX:+TieredCompilation -Xmx4096m"
-
Start the build
$ croot $ mka bacon
The build-process takes a lot of time - the initial build can take about 10h. If CCACHE is enabled, the next builds only take 3-4 hours. Note that especially the linking process (ld) needs a huge amount of memory. The building process stops without a warning if only 6GB are present. In this case you can try to build with only one process (mka bacon -j1).
When the build-process finished the following files will be available:
LineageOS image: out/target/product/kminilte/lineage-15.1-<date>-UNOFFICIAL-<device>.zip
recovery: out/target/product/kminilte/recovery.img
If you want to rebuild the ROM, perform the following steps:
$ repo sync
$ mka clean
$ mka bacon
"repo sync" might fail due to local source code modifications. In this case temporarily revert the changes and reapply them after the update:
$ repo sync (-> fails due to local modifications, failing subprojects are listed in log-output)
For each failing subproject, revert the changes (e.g. with git reset --hard ...)
$ croot
$ repo sync
Now reapply the patches (see section about device/samsung/smdk3470-common/patch/apply.sh)
#
# Copyright (C) 2017 The LineageOS Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#