Difference between revisions of "ROM Android: Download source code cyanogenmod"

From OnnoWiki
Jump to navigation Jump to search
 
(11 intermediate revisions by the same user not shown)
Line 1: Line 1:
 +
==Spesifikasi Hardware==
 +
 +
Agar aman pada saat compile android,
 +
 +
* CPU - bisa kelas-kelas atom, tapi akan butuh 1 harian (24 jam) utk compile.
 +
* Memory - sebesar mungkin
 +
* Swap - akan butuh sekitar 4Gbyte, untuk RAM 2GByte.
 +
 +
 +
 
==Persiapan==
 
==Persiapan==
  
Line 5: Line 15:
 
  sudo apt-get purge openjdk*
 
  sudo apt-get purge openjdk*
  
Install oracle java6 (untuk CM 11)
+
Update repo
atau oracle java7 (untuk CM 12)
 
  
  sudo add-apt-repository ppa:webupd8team/java
+
  sudo su
sudo apt-get update
+
echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" | tee /etc/apt/sources.list.d/webupd8team-java.list
  sudo apt-get install oracle-java6-installer  (untuk CM 11)
+
echo "deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" | tee -a /etc/apt/sources.list.d/webupd8team-java.list
  sudo apt-get install oracle-java7-installer  (Untuk CM 12)
+
  apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys EEA14886
y
+
  apt-get update
  
Install ia32(?)  
+
Instalasi oracle java7 (jangan menggunakan java8)
Tampaknya ini tidak di perlukan & hanya dibutuhkan di Ubuntu Mint
 
  
  sudo dpkg --add-architecture i386
+
  apt-get remove --purge oracle-java8*
  sudo apt-get update
+
  apt-get remove --purge oracle-java6*
sudo apt-get install ia32-libs
+
  apt-get install oracle-java7-installer
  sudo apt-get install ia32-libs
 
y
 
  
  
Download & Extract
+
Jika menggunakan java8 akan keluar error
  
  mkdir -p ~/android
+
  ************************************************************
  wget http://dl.google.com/android/adt/adt-bundle-linux-x86_64-20130729.zip
+
You are attempting to build with an unsupported version
  wget http://dl.google.com/android/adt/22.6.2/adt-bundle-linux-x86_64-20140321.zip
+
of java.
  wget http://enos.itcollege.ee/~jpoial/allalaadimised/AndroidSDK/adt-bundle-linux-x86_64-20140702.zip
+
 
 
+
  Your version is: java version "1.8.0_31".
Extrak di
+
  The correct version is: Java SE 1.6 or 1.7.
 
+
 
  cp adt-bundle-linux-x86_64-20140702.zip ~
+
  Please follow the machine setup instructions at
cd ~
+
    https://source.android.com/source/download.html
rm -Rf ~/android/*
+
  ************************************************************
unzip adt-bundle-linux-x86_64-20140702.zip
 
mv adt-bundle-linux-x86_64-20140702/* ~/android
 
cd ~/android/sdk/tools/
 
./android sdk
 
  
 
Instalasi aplikasi pendukung
 
Instalasi aplikasi pendukung
Line 50: Line 52:
 
  y
 
  y
  
  sudo apt-get install android-tools-adb
+
  sudo apt-get install android-tools-adb android-tools-fastboot python-lunch
sudo apt-get install android-tools-fastboot
 
sudo apt-get install python-lunch
 
  
 
Siapkan perintah repo
 
Siapkan perintah repo
Line 75: Line 75:
  
 
==Siapkan Folder Source==
 
==Siapkan Folder Source==
 +
 +
Buang manifests
 +
 +
cd ~/android-cyanogenmod/.repo
 +
rm -Rf manifests
  
 
repo sync ke folder source
 
repo sync ke folder source
Line 183: Line 188:
 
===LG Optimus G Pro===
 
===LG Optimus G Pro===
  
unzipping target target-files...
 
  running:  unzip -o -q /home/onno/android-cyanogenmod/out/target/product/e980/obj/PACKAGING/target_files_intermediates/cm_e980-target_files-9c81b5d85f.zip -d /tmp/targetfiles-qs2iRf
 
--- target info ---
 
blocksize                = (int) 131072
 
boot_size                = (int) 23068672
 
build.prop                = (dict) {'ro.setupwizard.enterprise_mode': '1', 'ro.url.legal': 'http://www.google.com/intl/%s/mobile/android/basic/phone-legal.html', 'ro.build.product': 'e980', 'wifi.supplicant_scan_interval': '15', 'ro.build.id': 'JLS36I', 'ro.hwui.gradient_cache_size': '1', 'ro.build.version.sdk': '18', 'ro.telephony.ril.v3': 'qcomdsds', 'ro.qc.sensors.wl_dis': 'true', 'dalvik.vm.heapmaxfree': '8m', 'ro.build.fingerprint': 'lge/geefhd_open_eu/geefhd:4.1.2/JZO54K/E98610b.1373081564:user/release-keys', 'ro.product.manufacturer': 'LGE', 'ro.hwui.layer_cache_size': '32', 'ro.build.description': 'geefhd_open_eu-user 4.1.2 JZO54K E98610b.1373081564 release-keys', 'dalvik.vm.heapstartsize': '16m', 'ro.product.brand': 'lge', 'wifi.interface': 'wlan0', 'ro.product.model': 'LG-E980', 'af.resampler.quality': '4', 'dalvik.vm.heapsize': '512m', 'persist.audio.fluence.voicecall': 'true', 'persist.audio.fluence.mode': 'endfire', 'dalvik.vm.heaptargetutilization': '0.75', 'ro.build.host': 'android-asus', 'ro.com.android.dataroaming': 'false', 'dalvik.vm.heapminfree': '2m', 'ro.board.platform': 'msm8960', 'drm.service.enabled': 'true', 'ro.bt.bdaddr_path': '/data/misc/bdaddr', 'ro.build.version.release': '4.3.1', 'ro.build.version.codename': 'REL', 'net.bt.name': 'Android', 'ro.build.type': 'userdebug', 'ro.hwui.text_large_cache_width': '2048', 'ro.config.alarm_alert': 'Hassium.ogg', 'ro.opengles.version': '196608', 'ro.cmlegal.url': 'http://www.cyanogenmod.org/docs/privacy', 'ro.hwui.text_small_cache_height': '1024', 'ro.build.display.id': 'cm_e980-userdebug 4.3.1 JLS36I 9c81b5d85f test-keys', 'ro.rommanager.developerid': 'cyanogenmod', 'ro.config.ringtone': 'Orion.ogg', 'dalvik.vm.dexopt-flags': 'm=y', 'dalvik.vm.stack-trace-file': '/data/anr/traces.txt', 'ro.carrier': 'unknown', 'ro.product.board': 'geefhd', 'ro.com.google.clientidbase': 'android-google', 'ro.build.date': 'Kam Mar 20 13:48:36 WIT 2014', 'ro.build.date.utc': '1395298116', 'keyguard.no_require_sim': 'true', 'persist.audio.dualmic.config': 'endfire', 'dalvik.vm.lockprof.threshold': '500', 'ro.build.selinux': '1', 'persist.sys.root_access': '1', 'ro.hwui.text_small_cache_width': '1024', 'ro.product.cpu.abi': 'armeabi-v7a', 'debug.egl.recordable.rgba8888': '1', 'ro.cm.version': '10.2-20140320-UNOFFICIAL-e980', 'persist.audio.handset.mic.type': 'digital', 'ro.url.legal.android_privacy': 'http://www.google.com/intl/%s/mobile/android/basic/privacy.html', 'ro.product.name': 'geefhd_open_eu', 'ro.hwui.drop_shadow_cache_size': '5', 'ro.telephony.call_ring.multiple': '0', 'ro.wifi.channels': '', 'ro.hwui.r_buffer_cache_size': '4', 'ro.modversion': '10.2-20140320-UNOFFICIAL-e980', 'telephony.lteOnGsmDevice': '1', 'ro.build.characteristics': 'default', 'ro.telephony.default_network': '9', 'persist.hwc.mdpcomp.enable': 'true', 'ro.build.version.incremental': '9c81b5d85f', 'ro.hwui.text_large_cache_height': '1024', 'ro.build.tags': 'test-keys', 'ro.sf.lcd_density': '480', 'ro.com.android.dateformat': 'MM-dd-yyyy', 'persist.audio.lowlatency.rec': 'false', 'persist.audio.handset.mic': 'dmic', 'ro.product.cpu.abi2': 'armeabi', 'ro.build.user': 'onno', 'ro.product.locale.language': 'en', 'ro.hwui.path_cache_size': '24', 'ro.product.device': 'e980', 'ro.hwui.texture_cache_flushrate': '0.5', 'ro.product.locale.region': 'US', 'ro.hwui.texture_cache_size': '48', 'ro.cm.device': 'e980', 'ro.qualcomm.sensors.smd': 'true', 'ro.com.android.wifi-watchlist': 'GoogleGuest', 'persist.radio.apm_sim_not_pwdn': '1', 'dalvik.vm.heapgrowthlimit': '192m', 'ro.telephony.ril_class': 'LgeLteRIL', 'ro.config.notification_sound': 'Argon.ogg', 'media.aac_51_output_enabled': 'true'}
 
 
  default_system_dev_certificate = (str) build/target/product/security/testkey
 
  default_system_dev_certificate = (str) build/target/product/security/testkey
 
  extfs_sparse_flag        = (str) -s
 
  extfs_sparse_flag        = (str) -s
  extra_recovery_keys      = (str)  build/target/product/security/cm
+
  extra_recovery_keys      = (str)  build/target/product/security/cm build/target/product/security/cm-devkey build/target/product/security/bacon
 
  fs_type                  = (str) ext4
 
  fs_type                  = (str) ext4
  fstab                    = (dict) {'/sns': <common.Partition object at 0x2cca510>, '/cache': <common.Partition object at 0x2cca410>, '/boot':  <common.Partition object at 0x2cca290>, '/system': <common.Partition object at 0x2cca310>, '/persist': <common.Partition object at 0x2cca490>, '/recovery': <common.Partition object at 0x2cca2d0>, '/firmware': <common.Partition object at 0x2cca4d0>, '/data': <common.Partition object at 0x2cca450>, '/factory': <common.Partition object at 0x2cca550>}
+
  fstab                    = (dict) {'/sns': <common.Partition object at 0x2b27f7331410>, '/cache': <common.Partition object at 0x2b27f73311d0>, '/boot':  <common.Partition object at 0x2b27f7331110>, '/system': <common.Partition object at 0x2b27f7331190>, '/persist': <common.Partition object at 0x2b27f7331250>, '/recovery': <common.Partition object at 0x2b27f7331150>, '/firmware': <common.Partition object at 0x2b27f73313d0>, '/data': <common.Partition object at 0x2b27f7331210>, '/factory': <common.Partition object at 0x2b27f7331450>}
 
  fstab_version            = (int) 2
 
  fstab_version            = (int) 2
 
  mkbootimg_args            = (str) --ramdisk_offset 0x02000000
 
  mkbootimg_args            = (str) --ramdisk_offset 0x02000000
 +
multistage_support        = (str) 1
 +
ota_script_path          = (str) ./build/tools/releasetools/ota_from_target_files
 +
override_device          = (str) e986,e980,geefhd,e988,gkatt
 
  recovery_api_version      = (int) 2
 
  recovery_api_version      = (int) 2
 
  recovery_size            = (int) 23068672
 
  recovery_size            = (int) 23068672
  selinux_fc                = (str) /tmp/targetfiles-qs2iRf/BOOT/RAMDISK/file_contexts
+
  selinux_fc                = (str) /tmp/targetfiles-IO7Hw7/BOOT/RAMDISK/file_contexts
 
  system_size              = (int) 880803840
 
  system_size              = (int) 880803840
 
  tool_extensions          = (str) device/lge/gproj-common/loki
 
  tool_extensions          = (str) device/lge/gproj-common/loki
 +
update_rename_support    = (str) 1
 +
use_set_metadata          = (str) 1
 
  userdata_size            = (int) 6189744128
 
  userdata_size            = (int) 6189744128
 
  using device-specific extensions in device/lge/gproj-common/loki
 
  using device-specific extensions in device/lge/gproj-common/loki
 +
building image from target_files RECOVERY...
 +
  running:  mkbootfs -f /tmp/targetfiles-IO7Hw7/META/recovery_filesystem_config.txt /tmp/targetfiles-IO7Hw7/RECOVERY/RAMDISK
 +
  running:  minigzip
 +
  running:  mkbootimg --kernel /tmp/targetfiles-IO7Hw7/RECOVERY/kernel --cmdline vmalloc=600M console=ttyHSL0,115200,n8 lpj=67677 user_debug=31  msm_rtb.filter=0x0 ehci-hcd.park=3 coresight-etm.boot_enable=0 androidboot.hardware=geefhd --base 0x80200000 --pagesize 2048 --ramdisk_offset 0x02000000 --ramdisk /tmp/tmpqXHTEZ --output /tmp/tmpnusL9e
 
  building image from target_files BOOT...
 
  building image from target_files BOOT...
   running:  mkbootfs -f /tmp/targetfiles-qs2iRf/META/boot_filesystem_config.txt /tmp/targetfiles-qs2iRf/BOOT/RAMDISK
+
   running:  mkbootfs -f /tmp/targetfiles-IO7Hw7/META/boot_filesystem_config.txt /tmp/targetfiles-IO7Hw7/BOOT/RAMDISK
 
   running:  minigzip
 
   running:  minigzip
   running:  mkbootimg --kernel /tmp/targetfiles-qs2iRf/BOOT/kernel --cmdline vmalloc=600M console=ttyHSL0,115200,n8 lpj=67677 user_debug=31 msm_rtb.filter=0x0 ehci-hcd.park=3 coresight-etm.boot_enable=0 androidboot.hardware=geefhd --base 0x80200000 --pagesize 2048 --ramdisk_offset 0x02000000 --ramdisk /tmp/tmpHDe1K1 --output /tmp/tmphsLWVh
+
   running:  mkbootimg --kernel /tmp/targetfiles-IO7Hw7/BOOT/kernel --cmdline vmalloc=600M console=ttyHSL0,115200,n8 lpj=67677 user_debug=31 msm_rtb.filter=0x0 ehci-hcd.park=3 coresight-etm.boot_enable=0 androidboot.hardware=geefhd --base 0x80200000 --pagesize 2048 --ramdisk_offset 0x02000000 --ramdisk /tmp/tmp9ZDVPb --output /tmp/tmpacEsTQ
     boot size (6842368) is 29.66% of limit (23068672)
+
  running:  imgdiff -b /tmp/targetfiles-IO7Hw7/SYSTEM/etc/recovery-resource.dat /tmp/tmpEtQIYY /tmp/tmpOr0Lkg /tmp/tmpLlEOux
 +
     boot size (6991872) is 30.31% of limit (23068672)
 
   running:  openssl pkcs8 -in build/target/product/security/testkey.pk8 -inform DER -nocrypt
 
   running:  openssl pkcs8 -in build/target/product/security/testkey.pk8 -inform DER -nocrypt
   running:  java -Xmx2048m -jar /home/onno/android-cyanogenmod/out/host/linux-x86/framework/signapk.jar -w build/target/product/security/testkey.x509.pem build/target/product/security/testkey.pk8 /tmp/tmpl3eXiQ /home/onno/android-cyanogenmod/out/target/product/e980/cm_e980-ota-9c81b5d85f.zip
+
   running:  java -Xmx2048m -jar /home/onno/android-cyanogenmod/out/host/linux-x86/framework/signapk.jar -w build/target/product/security/testkey.x509.pem build/target/product/security/testkey.pk8 /tmp/tmpaMp5Dk /home/onno/android-cyanogenmod/out/target/product/e980/cm_e980-ota-07b5c31ed7.zip
 
  done.
 
  done.
  Package Complete: /home/onno/android-cyanogenmod/out/target/product/e980/cm-10.2-20140320-UNOFFICIAL-e980.zip
+
  Package Complete: /home/onno/android-cyanogenmod/out/target/product/e980/cm-11-20150106-UNOFFICIAL-e980.zip
  
 
==Referensi==
 
==Referensi==

Latest revision as of 20:20, 2 February 2015

Spesifikasi Hardware

Agar aman pada saat compile android,

  • CPU - bisa kelas-kelas atom, tapi akan butuh 1 harian (24 jam) utk compile.
  • Memory - sebesar mungkin
  • Swap - akan butuh sekitar 4Gbyte, untuk RAM 2GByte.


Persiapan

Buang openjdk

sudo apt-get purge openjdk*

Update repo

sudo su
echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" | tee /etc/apt/sources.list.d/webupd8team-java.list
echo "deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" | tee -a /etc/apt/sources.list.d/webupd8team-java.list
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys EEA14886
apt-get update

Instalasi oracle java7 (jangan menggunakan java8)

apt-get remove --purge oracle-java8*
apt-get remove --purge oracle-java6*
apt-get install oracle-java7-installer


Jika menggunakan java8 akan keluar error

************************************************************
You are attempting to build with an unsupported version
of java.
 
Your version is: java version "1.8.0_31".
The correct version is: Java SE 1.6 or 1.7.
  
Please follow the machine setup instructions at
    https://source.android.com/source/download.html
************************************************************

Instalasi aplikasi pendukung

sudo apt-get install git-core gnupg flex bison gperf libsdl1.2-dev \
libesd0-dev libwxgtk2.8-dev squashfs-tools build-essential zip curl \
libncurses5-dev zlib1g-dev pngcrush schedtool libxml2 libxml2-utils \
xsltproc g++-multilib lib32z1-dev lib32ncurses5-dev \
lib32readline-gplv2-dev gcc-multilib
y
sudo apt-get install android-tools-adb android-tools-fastboot python-lunch

Siapkan perintah repo

mkdir -p ~/bin
mkdir -p ~/android-cyanogenmod
curl http://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo

Edit bashrc

gedit ~/.bashrc
export PATH=${PATH}:~/bin
export PATH=${PATH}:~/android/sdk/adt-bundle/sdk/tools
export PATH=${PATH}:~/android/sdk/adt-bundle/sdk/platform-tools

Set identitas kita

git config --global user.email "username@mail.com"
git config --global user.name "Nama Anda"

Siapkan Folder Source

Buang manifests

cd ~/android-cyanogenmod/.repo
rm -Rf manifests

repo sync ke folder source

cd ~/android-cyanogenmod/
repo init -u git://github.com/CyanogenMod/android.git -b cm-10.2
repo sync

atau

cd ~/android-cyanogenmod/
repo init -u git://github.com/CyanogenMod/android.git -b cm-10.1
repo sync

atau

cd ~/android-cyanogenmod/
repo init -u git://github.com/CyanogenMod/android.git -b cm-11.0
repo sync

atau

cd ~/android-cyanogenmod/
repo init -u https://github.com/CyanogenMod/android -b cm-12.0
repo sync

Ambil prebuild apps

cd ~/android-cyanogenmod/system/vendor/cm
./get-prebuilts

Clean

Jika kita perlu membersihkan / clean build directory dapat menggunakan perintah

cd ~/android-cyanogenmod/
make clean


Build

cd ~
vi android-cyanogenmod/.repo/local_manifests/roomservice.xml
<manifest>
<project name="TheMuppets/proprietary_vendor_lge.git" path="vendor/lge" remote="github"  revision="cm-11.0"/>
</manifest>


Edit roomservice.xml tampaknya tidak perlu dilakukan untuk CM 11.0.


mako

cd ~/android-cyanogenmod
repo sync
~/android-cyanogenmod/vendor/cm/get-prebuilts
. build/envsetup.sh
brunch mako

LG Optimus G Pro

cd ~/android-cyanogenmod
repo sync
~/android-cyanogenmod/vendor/cm/get-prebuilts
cd ~/android-cyanogenmod
. build/envsetup.sh
brunch e980

versi e980 bisa untuk LG F240K tapi suara tidak keluar. Versi LG F240K yang tidak pernah di release ke publik.

LG Optimus G Pro F240K / geefhd

cd ~/android-cyanogenmod
~/android-cyanogenmod/vendor/cm/get-prebuilts
cd ~/android-cyanogenmod
. build/envsetup.sh
lunch geefhd
lunch f240k

LG Optimus L7

PERCOBAAN
cd ~/android-cyanogenmod
repo sync
~/android-cyanogenmod/vendor/cm/get-prebuilts
. build/envsetup.sh
brunch p700

LG Optimus L7 II

PERCOBAAN

cd ~/android-cyanogenmod
repo sync
~/android-cyanogenmod/vendor/cm/get-prebuilts
. build/envsetup.sh
brunch p713
breakfast p713

Jika Berhasil

Jika berhasil compile akan tampak seperti di bawah ini

LG Optimus G Pro

default_system_dev_certificate = (str) build/target/product/security/testkey
extfs_sparse_flag         = (str) -s
extra_recovery_keys       = (str)  build/target/product/security/cm build/target/product/security/cm-devkey build/target/product/security/bacon
fs_type                   = (str) ext4
fstab                     = (dict) {'/sns': <common.Partition object at 0x2b27f7331410>, '/cache': <common.Partition object at 0x2b27f73311d0>, '/boot':  <common.Partition object at 0x2b27f7331110>, '/system': <common.Partition object at 0x2b27f7331190>, '/persist': <common.Partition object at 0x2b27f7331250>, '/recovery': <common.Partition object at 0x2b27f7331150>, '/firmware': <common.Partition object at 0x2b27f73313d0>, '/data': <common.Partition object at 0x2b27f7331210>, '/factory': <common.Partition object at 0x2b27f7331450>}
fstab_version             = (int) 2
mkbootimg_args            = (str) --ramdisk_offset 0x02000000
multistage_support        = (str) 1
ota_script_path           = (str) ./build/tools/releasetools/ota_from_target_files
override_device           = (str) e986,e980,geefhd,e988,gkatt
recovery_api_version      = (int) 2
recovery_size             = (int) 23068672
selinux_fc                = (str) /tmp/targetfiles-IO7Hw7/BOOT/RAMDISK/file_contexts
system_size               = (int) 880803840
tool_extensions           = (str) device/lge/gproj-common/loki
update_rename_support     = (str) 1
use_set_metadata          = (str) 1
userdata_size             = (int) 6189744128
using device-specific extensions in device/lge/gproj-common/loki
building image from target_files RECOVERY...
  running:  mkbootfs -f /tmp/targetfiles-IO7Hw7/META/recovery_filesystem_config.txt /tmp/targetfiles-IO7Hw7/RECOVERY/RAMDISK
  running:  minigzip
  running:  mkbootimg --kernel /tmp/targetfiles-IO7Hw7/RECOVERY/kernel --cmdline vmalloc=600M console=ttyHSL0,115200,n8 lpj=67677 user_debug=31  msm_rtb.filter=0x0 ehci-hcd.park=3 coresight-etm.boot_enable=0 androidboot.hardware=geefhd --base 0x80200000 --pagesize 2048 --ramdisk_offset 0x02000000 --ramdisk /tmp/tmpqXHTEZ --output /tmp/tmpnusL9e
building image from target_files BOOT...
  running:  mkbootfs -f /tmp/targetfiles-IO7Hw7/META/boot_filesystem_config.txt /tmp/targetfiles-IO7Hw7/BOOT/RAMDISK
  running:  minigzip
  running:  mkbootimg --kernel /tmp/targetfiles-IO7Hw7/BOOT/kernel --cmdline vmalloc=600M console=ttyHSL0,115200,n8 lpj=67677 user_debug=31  msm_rtb.filter=0x0 ehci-hcd.park=3 coresight-etm.boot_enable=0 androidboot.hardware=geefhd --base 0x80200000 --pagesize 2048 --ramdisk_offset 0x02000000 --ramdisk /tmp/tmp9ZDVPb --output /tmp/tmpacEsTQ
  running:  imgdiff -b /tmp/targetfiles-IO7Hw7/SYSTEM/etc/recovery-resource.dat /tmp/tmpEtQIYY /tmp/tmpOr0Lkg /tmp/tmpLlEOux
   boot size (6991872) is 30.31% of limit (23068672)
  running:  openssl pkcs8 -in build/target/product/security/testkey.pk8 -inform DER -nocrypt
  running:  java -Xmx2048m -jar /home/onno/android-cyanogenmod/out/host/linux-x86/framework/signapk.jar -w build/target/product/security/testkey.x509.pem  build/target/product/security/testkey.pk8 /tmp/tmpaMp5Dk /home/onno/android-cyanogenmod/out/target/product/e980/cm_e980-ota-07b5c31ed7.zip
done.
Package Complete: /home/onno/android-cyanogenmod/out/target/product/e980/cm-11-20150106-UNOFFICIAL-e980.zip

Referensi

Pranala Menarik