APKTool Commands

apktool

Decompile, Rebuild (Compile), Gernerate Key, APK Signing, …

# Decompile
apktool d {APK 파일명.apk}
apktool d MyApp.apk
 
# Rebuild (Compile)
apktool b {디컴파일 된 APK 폴더명} -o {새로 생성할 APK 파일명.apk}
apktool b MyApp -o NewMyApp.apk
   
# Generate Key
keytool -genkeypair -v -keystore {키스토어명.keystore} -alias {별칭} -keyalg RSA -keysize 4096 -validity 10000
keytool -genkeypair -v -keystore mykeystore.keystore -alias mykey -keyalg RSA -keysize 4096 -validity 10000
 
# Generate Key (PKCS12 형식)
keytool -genkeypair -v -keystore mykeystore.p12 -storetype PKCS12 -alias mykey -keyalg RSA -keysize 4096 -validity 10000
 
 
# Signing
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore {키스토어명.keystore} {새로 생성할 APK 파일명.apk} {키 식별자(별칭)}
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore mykeystore.keystore NewMyApp.apk mykey


ADB(Android Debug Bridge) Commands

Useful ADB Commands

shell, install, push, pull, …

# (PC > Android) Get Shell
adb shell
 
# Install APK File in Android Device
adb install {APK 파일명.apk}
adb install MyApp.apk
 
# (PC > Android) File Transfer
adb push {fileName} {filePath}
adb push ./1.png /data/local/tmp
 
# (Android > PC) File Transfer
adb pull {안드로이드 디바이스 내 파일경로/파일명} {다운로드 받을  PC 경로}
adb pull /data/local/tmp/credentials.db

(Android Device) Global Proxy Settings

adb shell settings put global http_proxy {IP:PORT}
adb shell settings put global http_proxy :0


(Android Device) OS Version, Serial-Number

# Android OS Version
adb shell getprop ro.product.cpu.abi
 
# Android Serial Number
adb shell getprop ro.serialno

Extracting Installed APK File in Android Device

# 현재 안드로이드 단말에 설치된 애플리케이션 패키지 리스트 조회
pm list package -f | grep {PackageName}
pm list package -f | grep com.example.myapp
 
# 패키지를 APK 파일로 추출
# adb pull [원하는 패키지] [출력 원하는 apk 파일명 지정]
adb pull /data/app/com.example.myapp-ASVSV67896978vbsvd567==/base.apk myapp.apk

Chrome Web View

# Android App > Chrome Web Viewer
chrome://inspect/#devices