Why should I know this?

Dexopt, Dex2oat 실행 옵션 본문

Knowledge/Android

Dexopt, Dex2oat 실행 옵션

die4taoam 2020. 3. 15. 01:52

/system/bin/dex2oat --zip-fd=6 --zip-location=/system/app/Email.apk --oat-fd=7 --oat-location=/data/dalvik-cache/system@app@Email.apk@classes.dex --profile-file=/data/dalvik-cache/profiles/com.android.email

 

 

/system/bin/dex2oat --image=/data/dalvik-cache/system@framework@boot.art --runtime-arg-Xms64m --runtime-arg -Xmx64m --dex-file=/system/framework/core-libart.jar --dex-file=/system/framework/conscrypt.jar --dex-file=/system/framework/okhttp.jar --dex-file=/system/framework/core-junit.jar --dex-file=/system/framework/bouncycastle.jar --dex-file=/system/framework/ext.jar --dex-file=/system/framework/framework.jar --dex-file=/system/framework/framework2.jar --dex-file=/system/framework/telephony-common.jar --dex-file=/system/framework/voip-common.jar --dex-file=/system/framework/mms-common.jar--dex-file=/system/framework/android.policy.jar --dex-file=/system/framework/services.jar --dex-file=/system/framework/apache-xml.jar --dex-file=/system/framework/webviewchromium.jar --oat-file=/data/dalvik-cache/system@framework@boot.oat --runtime-arg -implicit-checks:none --instruction-set=arm --instruction-set-features=default --base=0x70000000 --image-classes-zip=/system/framework/framework.jar

 

// while aosp building

dex2oatd I 10313 10313 art/dex2oat/dex2oat.cc:1329] out/host/linux-x86/bin/dex2oatd --runtime-arg -Xms64m --runtime-arg -Xmx512m --boot-image=out/target/product/generic_x86_64/dex_bootjars/system/framework/boot.art --dex-file=out/target/product/generic_x86_64/obj/APPS/Calendar_intermediates/x86_64/package.odex.input --dex-location=/system/app/Calendar/Calendar.apk --oat-file=out/target/product/generic_x86_64/obj/APPS/Calendar_intermediates/x86_64/package.odex --android-root=out/target/product/generic_x86_64/system --instruction-set=x86_64 --instruction-set-features=default --include-patch-information --runtime-arg -Xnorelocate --no-include-debug-symbols

 

dex2oatd I 12781 12781 art/dex2oat/dex2oat.cc:1329] out/host/linux-x86/bin/dex2oatd --runtime-arg -Xms64m --runtime-arg -Xmx512m --boot-image=out/target/product/generic_x86_64/dex_bootjars/system/framework/boot.art --dex-file=out/target/product/generic_x86_64/obj/APPS/DownloadProviderUi_intermediates/x86_64/package.odex.input --dex-location=/system/app/DownloadProviderUi/DownloadProviderUi.apk --oat-file=out/target/product/generic_x86_64/obj/APPS/DownloadProviderUi_intermediates/x86_64/package.odex --android-root=out/target/product/generic_x86_64/system --instruction-set=x86_64 --instruction-set-features=default --include-patch-information --runtime-arg -Xnorelocate --no-include-debug-symbols

 

dex2oatd I 12576 12576 art/dex2oat/dex2oat.cc:1329] out/host/linux-x86/bin/dex2oatd --runtime-arg -Xms64m --runtime-arg -Xmx512m --boot-image=out/target/product/generic_x86_64/dex_bootjars/system/framework/boot.art --dex-file=out/target/product/generic_x86_64/obj/APPS/DocumentsUI_intermediates/x86_64/package.odex.input --dex-location=/system/app/DocumentsUI/DocumentsUI.apk --oat-file=out/target/product/generic_x86_64/obj/APPS/DocumentsUI_intermediates/x86_64/package.odex --android-root=out/target/product/generic_x86_64/system --instruction-set=x86_64 --instruction-set-features=default --include-patch-information --runtime-arg -Xnorelocate --no-include-debug-symbols

 

 

Compiler backends:

Quick

Optimizing

Portable

 

 

Quick Backend

- Medium level IR (DEX bytecode)

- Low level IR

- Native code

- Some optimizations at each stage

 

Portable backend

- Uses LLVM bitcode as its LIR

- Op)miza)ons using LLVM op)mizer

- Code genera)on is done by LLVM backend

 

Portable backend는 5 이후 제거됨. 6부터는 오직 Quick, Optimizing만 사용 가능

 

 

# out/host/linux-x86/bin/dex2oatd --runtime-arg -Xms64m --runtime-arg -Xmx512m --boot-image=out/target/product/generic_x86_64/dex_bootjars/system/framework/boot.art --dex-file=out/target/common/obj/JAVA_LIBRARIES/okhttp_intermediates/classes.dex --dex-location=/system/app/DocumentsUI/DocumentsUI.apk --oat-file=out/target/product/generic_x86_64/obj/APPS/DocumentsUI_intermediates/x86_64/package.odex --android-root=out/target/product/generic_x86_64/system --instruction-set=x86_64 --instruction-set-features=default --include-patch-information --runtime-arg -Xnorelocate --no-include-debug-symbols --bitcode=/AOSP5/ttest.bc  --compiler-backend=Portable     dex2oatd I 74756 74756 art/dex2oat/dex2oat.cc:1329] out/host/linux-x86/bin/dex2oatd --runtime-arg -Xms64m --runtime-arg -Xmx512m --boot-image=out/target/product/generic_x86_64/dex_bootjars/system/framework/boot.art --dex-file=out/target/common/obj/JAVA_LIBRARIES/okhttp_intermediates/classes.dex --dex-location=/system/app/DocumentsUI/DocumentsUI.apk --oat-file=out/target/product/generic_x86_64/obj/APPS/DocumentsUI_intermediates/x86_64/package.odex --android-root=out/target/product/generic_x86_64/system --instruction-set=x86_64 --instruction-set-features=default --include-patch-information --runtime-arg -Xnorelocate --no-include-debug-symbols --bitcode=/AOSP5/ttest.bc --compiler-backend=Portable                                                                                                                                                                                                                                                                                                                                 dex2oatd F 74756 74756 art/compiler/compiler.cc:191] Portable compiler not compiled                                                                                                                                                                                                                                                                  dex2oatd E 74756 74756 art/runtime/base/mutex-inl.h:119] Lock level violation: holding "abort lock" (level AbortLock - 5) while locking "mutator lock" (level MutatorLock - 46)    

Comments