Android 專案程式碼混淆
實現Android專案程式碼混淆三步走戰略:
一、修改工程下的project.properties檔案如下:
# This file is automatically generated by Android Tools.
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
#
# This file must be checked in Version Control Systems.
#
# To customize properties used by the Ant build system edit
# "ant.properties", and override values to adapt the script to your
# project structure.
#
# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):
#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
# Project target.
target=android-10
proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
其中最後一行為自行新增的 混淆指令碼路徑,具體指令碼編寫在 proguard-project.txt 指令碼檔案內進行。
二、修改指令碼檔案
為什麼說事修改呢? 很簡單因為Google已經替我們完成了大部分功能,只需按自己需要增加規則就OK,proguard-project.txt 檔案如下:
# This is a configuration file for ProGuard.
# http://proguard.sourceforge.net/index.html#manual/usage.html
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-verbose
# ignorewarnings
-ignorewarnings
# Optimization is turned off by default. Dex does not like code run
# through the ProGuard optimize and preverify steps (and performs some
# of these optimizations on its own).
-dontoptimize
-dontpreverify
# Note that if you want to enable optimization, you cannot just
# include optimization flags in your own project configuration file;
# instead you will need to point to the
# "proguard-android-optimize.txt" file instead of this one from your
# project.properties file.
-keepattributes *Annotation*
-keep public class com.google.vending.licensing.ILicensingService
-keep public class com.android.vending.licensing.ILicensingService
# For native methods, see http://proguard.sourceforge.net/manual/examples.html#native
-keepclasseswithmembernames class * {
native <methods>;
}
# keep setters in Views so that animations can still work.
# see http://proguard.sourceforge.net/manual/examples.html#beans
-keepclassmembers public class * extends android.view.View {
void set*(***);
*** get*();
}
# We want to keep methods in Activity that could be used in the XML attribute onClick
-keepclassmembers class * extends android.app.Activity {
public void *(android.view.View);
}
# For enumeration classes, see http://proguard.sourceforge.net/manual/examples.html#enumerations
-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}
-keep class * implements android.os.Parcelable {
public static final android.os.Parcelable$Creator *;
}
-keepclassmembers class **.R$* {
public static <fields>;
}
# The support library contains references to newer platform versions.
# Don't warn about those in case this app is linking against an older
# platform version. We know about them, and they are safe.
-dontwarn android.support.**
# -keep class android.support.v4.**{*;}
-keep class org.phprpc.**{*;}
-keep class com.google.gson.**{*;}
-keep class com.baidu.**{*;}
-keep class com.novell.sasl.client.**{*;}
-keep class org.**{*;}
-keep class com.hp.hpl.**{*;}
-keep class net.sourceforge.**{*;}
-keep class pinyindb.**{*;}
-keep class demo.**{*;}
相關閱讀:
基於微信api Android程式簽名+程式碼混淆 http://www.linuxidc.com/Linux/2013-04/83332.htm
Android 混淆打包 http://www.linuxidc.com/Linux/2013-01/78738.htm
Android混淆程式碼bug跟蹤 http://www.linuxidc.com/Linux/2012-07/66263.htm
Android專案加入混淆器打包失敗 http://www.linuxidc.com/Linux/2012-05/60018.htm
Android程式碼混淆,如何過濾掉反射的R檔案及第三方包? http://www.linuxidc.com/Linux/2012-04/58953.htm
相關文章
- Android程式碼混淆Android
- Android程式碼混淆&元件化混淆方案Android元件化
- Android程式碼混淆配置(Proguard檔案解析)Android
- android 混淆規則作用,Android程式碼混淆詳解Android
- Android 程式碼混淆規則Android
- Android Studio 程式碼混淆Android
- [轉]Android專案原始碼混淆問題解決方法Android原始碼
- Flutter 程式碼混淆 混淆Dart程式碼FlutterDart
- 程式碼安全之程式碼混淆及加固(Android)?Android
- Android程式碼混淆的實踐Android
- vue專案配置 `webpack-obfuscator` 進行程式碼加密混淆VueWeb行程加密
- 使用 yakpro-po 實現 Laravel 專案程式碼混淆加密Laravel加密
- 讀懂 Android 中的程式碼混淆Android
- Android反編譯和程式碼混淆Android編譯
- Android Studio實現程式碼混淆Android
- 【程式碼混淆】react-native 程式碼混淆React
- Android Studio 程式碼混淆注意問題Android
- Android App程式碼混淆終極解決方案AndroidAPP
- Android 配置 Ant 指令碼之程式碼混淆和優化Android指令碼優化
- 最近做了專案寫的混淆加密程式碼,保留下來,下次備用加密
- ios加固,ios程式碼混淆,ios程式碼混淆工具, iOS原始碼混淆使用說明詳解iOS原始碼
- android混淆檔案說明Android
- Android 程式碼混淆語法講解及常用模板Android
- Android 高階混淆和程式碼保護技術Android
- 鴻蒙程式碼配置混淆鴻蒙
- iOS安全/程式碼混淆iOS
- Eclipse與Android原始碼中ProGuard工具的使用(程式碼混淆)EclipseAndroid原始碼
- Python程式碼混淆工具,Python原始碼保密、加密、混淆Python原始碼加密
- 程式碼混淆工具ipaguard:如何使用ipaguard保護和混淆iOS應用程式程式碼iOS
- 程式碼混淆與反混淆學習-第二彈
- powershell程式碼混淆繞過
- 前端程式碼安全與混淆前端
- iOS 初探程式碼混淆(OC)iOS
- 程式碼混淆的規則
- Android混淆Android
- 聊聊如何進行程式碼混淆行程
- iOS應用加固--程式碼混淆iOS
- 教你5步搞定程式碼混淆