日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

【Android 安装包优化】开启 ProGuard 混淆 ( 压缩 Shrink | 优化 Optimize | 混淆 Obfuscate | 预检 | 混淆文件编写 | 混淆前后对比 )

發布時間:2025/6/17 Android 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Android 安装包优化】开启 ProGuard 混淆 ( 压缩 Shrink | 优化 Optimize | 混淆 Obfuscate | 预检 | 混淆文件编写 | 混淆前后对比 ) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 一、開啟 ProGuard 混淆
  • 二、混淆文件編寫
  • 三、混淆前后對比
  • 四、build.gradle 完整配置文件
  • 五、參考資料





一、開啟 ProGuard 混淆



在 build.gradle 中 開啟 Proguard , 在編譯時 , 會自動進行如下一系列優化 :

  • 壓縮 Shrink : 檢查 并 刪除 沒有使用的類 , 字段 , 方法 , 屬性 ; 這里要注意 , 如果通過反射使用一個類時 , 可能會在該步驟被刪除 ; 這里需要配置混淆文件 , 保留反射中使用的類 ;

  • 優化 Optimize : 優化字節碼 , 移除無用指令 ;

  • 混淆 Obfuscate : 混淆 Java 層代碼 , 使用無意義的標識符替代 Java 中的類名 , 變量名 , 方法名 等名稱 ;

  • 預檢 Preveirfy : 預檢 Java 平臺上預處理的代碼 ;


開啟 ProGuard 配置 : 在 build.gradle 構建腳本中的 " android / buildTypes " 層級中 , 配置 debug / release 相關選項 , 即可開啟 ProGuard ;

設置 minifyEnabled true 配置 , 并配置 proguardFiles 混淆配置文件 , 在 Android Studio 中 , 一般會生成一個默認的混淆配置文件 ;

android {buildTypes {debug {minifyEnabled trueproguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'}release {minifyEnabled trueproguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'}} }

混淆配置文件說明 :

在 proguardFiles getDefaultProguardFile(‘proguard-android-optimize.txt’), ‘proguard-rules.pro’ 中 , 配置了兩個文件,

其中 proguard-android-optimize.txt 是默認的混淆配置文件 , 由系統自動生成 ; proguard-rules.pro 是用戶自己配置的混淆配置文件 , 在進行打包時 , 將這兩個 ProGuard 配置文件進行合并處理 ;





二、混淆文件編寫



混淆文件編寫 : 引用的第三方庫及服務 , 一般不進行混淆 , 去相應的開源頁面 , 查找混淆配置 ;

遇到某個包或類編譯遇到警告退出 , -dontwarn 配置該包不要爆出警告 ;

遇到沒有找到的類 , 使用 -keep 不要混淆該類 ;


常用的混淆配置 :

" -dontwarn " : 不要報出警告信息 , 如果出現警告 , 編譯打包會被終止 ;

# com 包名下不要爆出警告 -dontwarn com.**

" -keep " : 不要混淆的類 ;

# com 包名下的類不要混淆 -keep class com.**{*;}



三、混淆前后對比



混淆前編譯的 APK 安裝包 : 3.6MB\rm 3.6 MB3.6MB

混淆后編譯的 APK 安裝包 : 1.7MB\rm 1.7MB1.7MB





四、build.gradle 完整配置文件



完整的 build.gradle 構建腳本 ;

plugins {id 'com.android.application'id 'kotlin-android' }android {compileSdkVersion 30buildToolsVersion "30.0.3"defaultConfig {applicationId "kim.hsl.svg"minSdkVersion 18targetSdkVersion 30versionCode 1versionName "1.0"testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"// 生成 PNG 圖片配置//generatedDensities = ['hdpi', 'mdpi', 'xhdpi', 'xxhdpi', 'xxxhdpi']// 使用 com.android.support:appcompat 支持庫配置vectorDrawables.useSupportLibrary = true// 國際化資源配置, 只打包默認資源與英文資源resConfigs 'en'}// 開啟混淆 buildTypes {debug {minifyEnabled trueproguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'}release {minifyEnabled trueproguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'}}compileOptions {sourceCompatibility JavaVersion.VERSION_1_8targetCompatibility JavaVersion.VERSION_1_8}kotlinOptions {jvmTarget = '1.8'} }dependencies {implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"implementation 'androidx.core:core-ktx:1.3.2'// 矢量圖支持庫 , 支持 5.0 以下版本手機使用矢量圖 , 這個是創建應用時自帶的配置implementation 'androidx.appcompat:appcompat:1.2.0'implementation 'com.google.android.material:material:1.3.0'implementation 'androidx.constraintlayout:constraintlayout:2.0.4'testImplementation 'junit:junit:4.+'androidTestImplementation 'androidx.test.ext:junit:1.1.2'androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0' }



五、參考資料



參考之前的博客資源 :

  • 【Android 安全】DEX 加密 ( ProGuard 混淆 | -keepclassmembers 混淆效果 | -keepclasseswithmembernames 混淆效果 )
  • 【Android 安全】DEX 加密 ( Proguard 混淆 | 混淆后的報錯信息 | Proguard 混淆映射文件 mapping.txt )
  • 【Android 安全】DEX 加密 ( Proguard 混淆 | 將混淆后的報錯信息轉為原始報錯信息 | retrace.bat 命令執行目錄 | 暴露更少信息 )
  • 【Android 安全】DEX 加密 ( Proguard 混淆 | 混淆后的報錯信息 | Proguard 混淆映射文件 mapping.txt )

博客資源 :

  • GitHub 項目源碼 : https://github.com/han1202012/SVG

  • 下載地址 :

總結

以上是生活随笔為你收集整理的【Android 安装包优化】开启 ProGuard 混淆 ( 压缩 Shrink | 优化 Optimize | 混淆 Obfuscate | 预检 | 混淆文件编写 | 混淆前后对比 )的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产女主播av | 苍井空亚洲精品aa片在线播放 | 一级精品毛片 | 热久久久久久 | 日韩欧美麻豆 | 福利二区视频 | 国产午夜免费 | jizz欧美性20| 欧美成人一二三区 | 免费看成人aa片无码视频羞羞网 | 精品盗摄一区二区三区 | 成人在线观看一区 | 亚洲精品久久久 | 国产高清视频网站 | 91网站永久免费看nba视频 | 日日久| 久久人妻无码aⅴ毛片a片app | 啪视频免费 | 黄页网站视频 | 日韩少妇一区二区 | 色呦呦在线观看视频 | 亚洲中文字幕无码一区二区三区 | 欧美日韩性生活视频 | 浪漫樱花动漫在线观看免费 | 中文字幕被公侵犯的漂亮人妻 | 国产精品第7页 | 香蕉久操| 精品日韩在线视频 | 国产美女在线播放 | 国产污污视频在线观看 | 不卡视频在线 | 国产成人手机在线 | 欧美一区二区三区国产 | 丰满熟女人妻一区二区三 | 久久av免费观看 | 热热色av | 啪啪免费小视频 | 污污视频网站免费观看 | 好看的黄色网址 | 精品人伦一区二区三区蜜桃免费 | 久久综合九九 | 国产亚洲精品久久久久久青梅 | 精品久久久噜噜噜久久久 | 久久国产欧美 | 口爆吞精一区二区三区 | 波多野结衣啪啪 | 亚洲精品字幕在线观看 | 久久依人 | 爱涩av | 日韩国产免费 | 久久六 | 亚洲精品国产精品国 | 国产成人精品一区二区 | 亚洲视频在线观看 | 中国黄色录像一级片 | 成年免费视频黄网站在线观看 | 潘金莲一级淫片免费放动漫 | 欧美人和黑人牲交网站上线 | 色哟哟视频在线观看 | 尤物视频免费观看 | 午夜国产福利视频 | 久草视频免费在线播放 | 少妇高潮一区二区三区99 | 中文字幕av无码一区二区三区 | 亚洲av片一区二区三区 | 国产免费视频一区二区三区 | 免费黄色小视频 | 操亚洲女人 | 亚洲熟女乱色一区二区三区 | 中文字幕精品一区久久久久 | 欧美性教育视频 | 可以看的av网站 | 精久久| 中文字幕网伦射乱中文 | 一区二区三区免费毛片 | 欧美午夜三级 | 欧美日韩在线免费视频 | 国产视频在线观看一区 | 美女被草出白浆 | 国模私拍在线 | 伊人影视大全 | 精品在线播放 | 亚洲免费区 | 国内性视频 | 免费观看高清在线 | 免费视频中文字幕 | 这里都是精品 | 韩日精品视频 | 熟妇的味道hd中文字幕 | av福利在线 | 国产日韩91| 午夜不卡福利视频 | 亚洲黄色片在线观看 | 少妇被躁爽到高潮无码文 | 非洲黑妞xxxxhd精品 | 91精品国产91久久久久久吃药 | 婷婷麻豆 | 夜夜爽夜夜 | 蘑菇视频黄色 |