vs android 压缩,Android Studio是否压缩classes.dex文件?
看起來輸出文件夾中apk文件的classes.dex與已安裝的應(yīng)用程序不同.
我正在使用classes.dex文件來解決一些安全問題,所以通常我解壓縮最終的apk文件并從classes.dex文件中獲取信息.但是當(dāng)我在運行時讀取classes.dex文件時文件大小是如此不同. (8MB vs 46KB)
應(yīng)用程序本身工作得很好.有人說Proguard使classes.dex文件更輕,但我關(guān)閉了Proguard. (useProguard false,build.gradle中minifyEnabled false)
有什么我可以嘗試的嗎?先感謝您.
一句話摘要:
Android Studio構(gòu)建的app / build / outputs / apk / app.apk文件的classes.dex與我可以從Android設(shè)備的實際應(yīng)用安裝位置找到的classes.dex不同.
解決方法:
實際上,android studio會進行轉(zhuǎn)換,并且在構(gòu)建時默認(rèn)使用“compress”這個術(shù)語.
Android應(yīng)用程序的編譯過程與其他Java應(yīng)用程序有很大不同.但它以相同的方式開始:使用javac命令將您的Java源代碼文件編譯為.class文件:
.class文件包含標(biāo)準(zhǔn)的Oracle JVM Java字節(jié)碼.但Android設(shè)備不使用此字節(jié)碼格式.相反,Android有自己獨特的字節(jié)碼格式,稱為Dalvik. Dalvik字節(jié)碼,如Oracle JVM字節(jié)碼,是理論處理器的機器代碼指令.
編譯過程需要將.class文件和任何.jar庫轉(zhuǎn)換為包含Dalvik字節(jié)碼的單個classes.dex文件.這是通過dx命令完成的:
這是您的classes.dex文件的生成方式.
然后將classes.dex文件和應(yīng)用程序中的資源(如圖像和布局)壓縮為類似zip的文件,稱為Android Package或.apk文件.這是通過Android資產(chǎn)包裝工具或aapt完成的:
在構(gòu)建過程中,您的proguard規(guī)則有助于
>收縮 – 檢測并刪除未使用的類,字段,方法和屬性.
>優(yōu)化 – 分析和優(yōu)化方法的字節(jié)碼.
> Obfuscate – 使用簡短無意義的名稱重命名剩余的類,字段和方法.
.
標(biāo)簽:android,android-studio,dex,android-gradle,android-proguard
來源: https://codeday.me/bug/20190627/1306911.html
總結(jié)
以上是生活随笔為你收集整理的vs android 压缩,Android Studio是否压缩classes.dex文件?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android自定义表盘部件,Andro
- 下一篇: android IO流_Flutter实