Android SDK / Terminal Command

Agustus 27, 2017
Sering kali kita jumpai kata "Android SDK" dan "Terminal Command" dalam dunia developing android. Apakah android sdk itu? Bagaimana menggunakannya? Mari kita bahas bersama wacana Android SDK dan Terminal Command.

Android SDK yaitu perangkat lunak yang digunakan dalam pengembangan aplikasi pada android. Berikut command yang umum dipakai , selanjutnya akan saya update lagi ke yang lebih luas lagi. Kalau ada command yang salah , tolong diberi masukan , nanti saya update lagi.
Beda penggunaan command di SDK dan terminal , semua command di SDK selalu diawali dengan 'adb ' , command yang sama dapat digunakan di terminal dengan menghilangkan 'adb'.
Get latest android SDK (4.0) : di sini dan (5.0) di sini
Android USB driver (nexus family) untuk windows : di sini
OEM usb driver : di sini
USB vendor ID :
Cara menggunakan android SDK :
1. unduh android SDK
2. copy dan extract zip ke folder yang mudah dicari dari command prompt (misal C:/android-sdk)
3. sambungkan phone ke komputer via usb
4. buka command prompt / terminal (start-run-cmd)
5. ketik c:/android-sdk/tools/
6. lakukan command adb dari sini , test dgn command adb shell
Android SDK
Basic functional command
Kalau command dibawah tidak berhasil , gunakan busybox , lalu setiap command dibawah tambahkan string 'busybox'. kecuali isyarat tersebut sudah di symlink

copy file/dir to device (dari desktop komputer ke phone) 
code:
adb push <local> <remote>
copy file/dir from device (dari phone ke desktop komputer)
code: 
adb pull <remote> <local>
move file (phone to komputer , phone to phone)
code: 
adb mv <remote> <local>
*catatan : ketiga command diatas dapat pribadi merename file
*contoh 1 : 
File hosts.txt diinginkan untuk dicopy ke dalam folder /system/etc
1. file contoh.txt dicopy ke desktop
2. masuk ke cmd (pc) / terminal (mac)
3. masuk ke directory android-sdk/tools/
4. ketik adb push contoh.txt /system/etc/contoh.txt

*contoh 2 :
File hosts.txt diinginkan untuk dicopy dari komputer ke dalam phone folder /system/etc dan direname menjadi file hosts (tanpa extention)
1. file contoh.txt dicopy ke desktop
2. masuk ke cmd (pc) / terminal (mac)
3. masuk ke directory android-sdk/tools/
4. ketik adb push hosts.txt /system/etc/hosts.txt

*contoh 3 :
File hosts diinginkan untuk dicopy dari phone folder /data ke desktop dan direname menjadi file hosts.txt
1. masuk ke cmd (pc) / terminal (mac)
2. masuk ke directory android-sdk/tools/
3. ketik adb pull /system/etc/hosts hosts.txt 

copy host->device only if changed (see 'adb help all')
code: 
adb sync [ <directory> ] 
Untuk memastikan file yg dicopy sudah benar2 written sebelum reboot
Run remote shell interactively 
code: 
adb shell
Run remote shell command
code: 
adb shell <command>
Run emulator console command
code: 
adb emu <command>
View device log
code: 
adb logcat [ <filter-spec> ]
Forward socket connections
code: 
adb forward <local> <remote> 
*catatan : forward specs :
tcp:<port>
localabstract:<unix domain socket name>
localreserved:<unix domain socket name>
localfilesystem:<unix domain socket name>
dev:<character device name>
jdwp:<process pid> (remote only) 

Push this package file to the device and install it
code: 
adb install [-l] [-r] <file>
('-l' artinya forward-lock aplikasi itu)
('-r' artinya reinstall aplikasi , dan menjaga data)



Remove this app package from the device
code: 

adb uninstall [-k] <package>
('-k' artinya tetap menjaga data dan cache directories)


System code 
Superuser code / substitute user code
code: 
su
Restart android phone
code: 
adb reboot
Masuk ke menu Recovery
code: 
adb reboot recovery
dmesg (untuk mengetahui dump dari system , termasuk mac address , memory , networking)
code: 
#dmesg
Clear search history
code: 
su
code:
rm / data / data / com.android.vending / databases / suggestions.db
Search text didalam file
code:
grep
* catatan : berkhasiat untuk parsing command output. 'ls | grep *something* yaitu cara tercepat untuk list files yang memiliki string "something" 

Mengganti rights (aturan) / menghilangkan rights dari suatu file atau folder
code: 
chmod <kode number>
* catatan : sebelum chmod dapat dilakukan , read only harus diganti menjadi write accessible :
code: 
mount -o remount ,rw -t ext3 /dev/block/mmcblk1p21 /system
Melihat free disk space
code: 
df
Menampilkan running process on top
code: 
top
ADB shell command reference
code: 
Silakan melihat di sini atau masukan command ls /system/bin
Referensi : android-dls 

Android Edify Script
Edify Functions and Expressions
contoh source tree code
code: 
grep -rn  RegisterFunction\(\"  bootable/recovery/* device/* 2>/dev/null | sed -n 's/^.*RegisterFunction("\(.*\)" ,.*$/\1/p' | sort

Contoh Script Syntac :

1. copy_dir
Code:
copy_dir <src-dir> <dst-dir> [<timestamp>]
Copy the contents of <src-dir> to <dst-dir>. The original contents of <dst-dir> are preserved unless something in <src-dir> overwrote them.
Ex: copy_dir PACKAGE:system SYSTEM:

2. format
Code: 
format <root>
Format a partiti0n
Ex: format SYSTEM: , will format entire /system . Note: formatting erases data irreversibly.

3. delete
Code: 
delete <file1> [... <fileN>]
Delete file.
EX: delete SYSTEM:app/Calculator.apk , will delete Calculator.apk from system/app directory.

4. delete_recursive
Code:
delete_recursive <file-or-dir1> [... <file-or-dirN>]
Delete a file or directory with all of it’s contents recursively
Ex: delete_recursive DATA:dalvik-cache , will delete /data/dalvik-cache directory with all of it’s contents

5. run_program
Code:
run_program <program-file> [<args> ...]
Run an external aktivitas included in the update package.
Ex: run_program PACKAGE:install_busybox.sh , will run install_busybox.sh script (shell command) included in the update package.

6. set_perm
Code:
set_perm <uid> <gid> <mode> <path> [... <pathN>]
Set ownership and permission of single file or entire directory trees , like ‘chmod’ , ‘chown’ , and ‘chgrp’ all in one
Ex: set_perm 0 2000 0550 SYSTEM:etc/init.goldfish.sh

7. set_perm_recursive
Code: 
set_perm_recursive <uid> <gid> <dir-mode> <file-moe> <path> [... <pathN>]
Set ownership and permission of a directory with all of it’s contents recursively

Ex: set_perm_recursive 0 0 0755 0644 SYSTEM:app

8. show_progress
Code: 
show_progress <fraction> <duration>
Use of the on-screen progress meter for the next operation , automatically advancing the meter over <duration> seconds (or more rapidly if the actual rate of progress can be determined).
Ex: show_progress 0.1 0

9. symlink
Code: 
symlink <link-target> <link-path>
Create a symlink (like ‘ln-s’). The <link-path> is in rootath format , but <link-target> is
for the target filesystem (and may be relative)


Referensi : xda-developers dan xda-developers

Bagaimana membuat update.zip

1. ambil grab ppcgeeks auto signer dari sini 
Auto signer ini diharapkan supaya system mau flash update.zip. seandainya tidak sign , maka tidak akan diflash oleh system.

2. Buatlah folder structure.
Jika ingin membuat dari awal , buatlah folder gres dan beri nama sesuai keinginan. Folder dummy Ini akan diisi hasil kerja yg ingin diflash.

3. Buatlah folder gres didalam folder awal. Folder ini akan berisi file yg akan diflash , referensi kalau ingin membuat update zip untuk membuat wallpaper dapat dibuat menyerupai : "New Folder/system/customize/resource"

4. Buatlah update-script (untuk memerintahkan apa yg akan dilakukan system)
Buatlah struktur sperti ini: "New Folder/META-INF/com/google/android"
"META-INF" harus aksara kapital.
buatlah sebuah file di dalam "android" folder dan rename menjadi "update-script"
Isilah string menyerupai referensi dibawah ini:
Code: 
show_progress 0.1 0

copy_dir PACKAGE:(x) (X):


set_perm_recursive 0 0 0755 0644 (X):(y)

show_progress 0.1 10
replace (x) dengan directory di root system dalam aksara kecil , mis : system atau data atau sdcard.
replace (X) sperti (x) dalam aksara kapital mis: SYSTEM atau DATA atau SDCARD.
replace (y) untuk directory selanjutnya dalam aksara kecil sperti media atau app atau customize.
* catatan : Jika tujuan file yaitu ke root (X) folder biarkan (X) blank , tanpa spasi.

Contoh : kalau ingin flash sebuah app ke system
Code: 
show_progress 0.1 0

copy_dir PACKAGE:system SYSTEM:


set_perm_recursive 0 0 0755 0644 SYSTEM:app

show_progress 0.1 10
5. save dan close file. kalau file di langkah diatas dibuat dgn wordpad , hapus extention file tsb.

6. kompres isi file New Folder tsb menjadi zip file. File zip tsb yaitu menyerupai : "update.zip/(folders)" bukan "update.zip/New Folder/(folders)"

7. Sign file zip tsb , dan copy ke root sdcard. Reboot recovery dan flash file tsb

Referensi : robmcghee dan xda-developers


Enable Adhoc WiFi with wpa_supplicant mod
Sistem android pada dasarnya dapat mendapatkan seluruh sinyal wifi baik yang dipancarkan oleh mode infrastructure ataupun adhoc. Namun kebijakan dari android sendiri yang membuat ad-hoc (IBSS) entry difilter dari hasil scan result yang dilaporkan dalam file the wpa_supplicant. 

Solusi yang mampu dilakukan yaitu dengan patch supaya WifiStateTracker tidak memfilter IBSS entry dan set wpa_supplicant in AP_SCAN 2 mode untuk memunculkan IBSS gres tanpa memunculkan hasil awal yang difilter. Cara ini yaitu dengan modifikasi java framework.
hasil patch ini :


- removes the [IBSS] flag from scan results ,

- masquerades and demasquerades ad-hoc ssid with (*) prefix
- sets mode 1 (ad-hoc) if the ssid is for IBSS
- permits the supplicant to select an IBSS when associating to a given ssid 
hasil patch berupa update.zip dapat dicari sesuai di forum xda-developer. Karena file wpa_supplicant biasanya sudah dimodifikasi sesuai dengan hardware tertentu.

contoh file wpa_supplicant yang sudah dimodifikasi dari forum.xda-developers silakan buka di sini

Block Ad di sistem android
Android menyerupai pada operating system lainnya dapat memblok iklan dengan cara modifikasi file hosts. File hosts ini ditujukan biar semua koneksi yang bekerjasama dengan iklan diredirect ke local host 127.0.0.1

File hosts pada android pada umumnya dapat ditemukan di /system/etc/

Edit file tersebut dengan file explorer , lalu tambahkan alamat website yang diinginkan untuk diblok didalam file hosts tsb.

contoh file hosts yang mampu diambil : http://winhelp2002.mvps.org/hosts.txt

Modifikasi file apk
3 hal yang harus dimiliki : android sdk (folder dan subfolder dimana android sdk berada , tidak boleh memiliki spasi) , 7zip , dan Stericsons autosign tool


1. klik kanan di file apk dan di menu 7zip pilih open archieve. Disini , kita dapan melaksanakan modifikasi yang diinginkan (mis : gambar , icon , dll).

2. Hapus folder Meta*** (folder ini berisi signature)
3. Setelah tamat , tutup 7zip , dan drag file apk ke autosign tool icon.
4. langkah ke-3 dapat diganti dgn app signapktic dari market.
Atau dapat juga menggunakan DroidIndo Tools dari sini

Jika ada syntac yang salah harap segera memberi masukan kepada saya , atau kalau anda binggung menggunakannya dan ingin mengharapkan respone pribadi anda dapat menuju link referensinya , sebagian besar dari syntac diatas berjalan lancar dikala saya coba.

Artikel Terkait

Previous
Next Post »