(sudo) acv instrument [apkname].apk
Example) sudo acv instrument ./3097cf0970513bcc35d656aa51794b73b20e66e2f03251ba9f58fe5a3068a2f5.apk
~/acvtool/acvtool_working_dir/instr_[apkname].apk ์ด ์์ฑ๋จ
Instumentation์ด ๋๋๋ฉด ์ปค๋งจ๋๋ผ์ธ์
package name: bbc.mobile.news.ww ์ ํํ๋ก package_name์ด ๋จ๋๋ฐ ๊ธฐ๋กํด ๋ ๊ฒ
APK Instrumentation์ด ์คํจํ ๊ฒฝ์ฐ, ์คํจ ๋ก๊ทธ๋ฅผ txt๋ก ๊ธฐ๋กํ ๋ค ์คํจ ์ฒ๋ฆฌํ ๊ฒ.
(sudo) acv install [path_to_apk]/[apkname].apk
ํน์
(sudo) adb install [path_to_apk]/[apkname].apk
Example) sudo acv install ~/acvtool/acvtool_working_dir/instr_3097cf0970513bcc35d656aa51794b73b20e66e2f03251ba9f58fe5a3068a2f5.apk
(sudo) adb uninstall
(sudo) acv start [package_name]
Recording์ ์์ํ๊ธฐ ์ ์ ์๋ณธ ์ฑ์ ์ง์ฐ๊ณ , instr_[appname].apk๋ฅผ ์ฌ์ค์น ํ ํ ์งํ ํ ๊ฒ.
(sudo) acv report [package_name] -p ~/acvtool/acvtool_working_dir/metadata/[apkname].pickle
Example) sudo acv report us.lovebyte -p ~/acvtool/acvtool_working_dir/metadata/3097cf0970513bcc35d656aa51794b73b20e66e2f03251ba9f58fe5a3068a2f5.pickle
mnt/sdcard/us.lovebyte/onstop_coverage_1612153632421.ec: 1 file pulled. 58.7 MB/s (658956 bytes in 0.011s)
๊ณผ ๊ฐ์ ํํ๋ก EC ํ์ผ์ด ์ถ์ถ๋์๋จ ๋ฌธ๊ตฌ๋ฅผ ๋ฐ๊ณ ๋๋ฉด ๊ทธ๋ฅ Ctrl+C๋ก ์ข
๋ฃํด๋ ๋จ
pypy demoslice.py [path_to_original_apk]/[apkname].apk ~/acvtool/acvtool_working_dir/report/[package_name]/ec_files/ ~/acvtool/acvtool_working_dir/metadata/[apkname].pickle โpurge_res
Example) pypy demoslice.py ../../testset2/3097cf0970513bcc35d656aa51794b73b20e66e2f03251ba9f58fe5a3068a2f5.apk ~/acvtool/acvtool_working_dir/report/us.lovebyte/ec_files/ ~/acvtool/acvtool_working_dir/metadata/3097cf0970513bcc35d656aa51794b73b20e66e2f03251ba9f58fe5a3068a2f5.pickle --purge_res
~/demoslice ์ temp_2348534233 ํํ์ ํด๋ ์์ฑ๋จ.
๊ฒฐ๊ณผ๋ก reduced_app_[ILP ์ ํ ์ฉ๋].apk ์์ฑ๋จ.
ํ์ฌ๋ ๋ฌดํํ ์๋ํ ๊ฐ๋ฅ์ฑ๋ ์์ผ๋, ์ ๋นํ ์์ฑ๋๋ APK์ ์ฉ๋์ ๋ณํ๊ฐ ์๋ค ์ถ์ผ๋ฉด ๊ฐ์ ์ข ๋ฃํด ์ฃผ๋ฉด ๋จ (๊ณง ํจ์นํ ์์ )
(sudo) acv sign [path_to_apk]/[apkname].apk
๊ฒฐ๊ณผ๋ก [apkname].apk.signed.apk ๊ฐ ์์ฑ.
์ด๊ฑธ ์ค์นํ์ง ์์ผ๋ฉด ์๋ช
๋์ง ์์ ์ฑ์ ๊น๋ค๊ณ adb๊ฐ ์ค์น๋ฅผ ๊ฑฐ๋ถํจ.
๋ก๊ทธ์บฃ ๋ณด๊ธฐ
adb logcat
: ์ฑ์ด ์ผ์ง์ง ์์ ๋ ๊ด๋ จ ๋คํ๋ฅผ ๊ธฐ๋กํ๊ธฐ์ ์ข์. ๊ธฐ๋กํด ๋๋ฉด ์ข๋ค.
adb shell am start -a android.intent.action.MAIN -n [package_name]/[activity_name] -d [data]
: acv start๋ก ๋ ์ฝ๋ฉ ํ ๋ ํน์ ํ๋ฉด์ผ๋ก ๋ฐ๋ก ์์ํ๊ธฐ ์ํด์ ์ฌ์ฉํ๋ ๋ช
๋ น์ด -d ์ต์
์ ์ ์ค๋ ๋๋ค.
์ฐธ์กฐ : https://samse.tistory.com/entry/adb-shell์์-ํน์ -activity์คํํ๊ธฐ
์๋ฎฌ๋ ์ดํฐ๊ฐ ์ ์๋๋ ๊ฒ ๊ฐ์ผ๋ฉด, Android Studio์ Emulator Manager์์ Wipe Dataํ๊ณ Cold Boot ํ๋ฉด ๋๋ถ๋ถ ํด๊ฒฐ๋๋ค.