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