android 代碼混淆模板

#指定代碼的壓縮級別
-optimizationpasses 5
#包明不混合大小寫
-dontusemixedcaseclassnames
#不去忽略非公共的庫類
-dontskipnonpubliclibraryclasses#優化  不優化輸入的類文件
-dontoptimize#預校驗
-dontpreverify#混淆時是否記錄日志
-verbose# 混淆時所采用的算法
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
#保護注解
-keepattributes *Annotation*
# 保持哪些類不被混淆
-keep public class * extends android.app.Fragment
-keep public class * extends android.app.Activity
-keep public class * extends android.app.Application
-keep public class * extends android.app.Service
-keep public class * extends android.content.BroadcastReceiver
-keep public class * extends android.content.ContentProvider
-keep public class * extends android.app.backup.BackupAgentHelper
-keep public class * extends android.preference.Preference
-keep public class com.android.vending.licensing.ILicensingService
#如果有引用v4包可以添加下面這行
-keep public class * extends android.support.v4.app.Fragment
#忽略警告
-ignorewarning
#####################記錄生成的日志數據,gradle build時在本項目根目錄輸出################
#apk 包內所有 class 的內部結構
-dump class_files.txt
#未混淆的類和成員
-printseeds seeds.txt
#列出從 apk 中刪除的代碼
-printusage unused.txt
#混淆前后的映射
-printmapping mapping.txt
#####################記錄生成的日志數據,gradle build時 在本項目根目錄輸出-end################
################<span></span>混淆保護自己項目的部分代碼以及引用的第三方jar包library#########################
#-libraryjars libs/umeng-analytics-v5.2.4.jar
#-libraryjars libs/alipaysd<span></span>k.jar
#<span></span>-libraryjars libs/alipaysecsdk.jar
#-libraryjars libs/alipayutdid.jar
#-libraryjars libs/wup-1.0.0-SNAPSHOT.jar
#-libraryjars libs/weibosdkcore.jar
#三星應用市場需要添加:sdk-v1.0.0.jar,look-v1.0.1.jar
#-libraryjars libs/sdk-v1.0.0.jar
#-libraryjars libs/look-v1.0.1.jar
#我是以libaray的形式引用了一個圖片加載框架,如果不想混淆 keep 掉
-keep class com.nostra13.universalimageloader.** { *; }
#友盟
-keep class com.umeng.**{*;}
#支付寶
-keep class com.alipay.android.app.IAliPay{*;}
-keep class com.alipay.android.app.IAlixPay{*;}
-keep class com.alipay.android.app.IRemoteServiceCallback{*;}
-keep class com.alipay.android.app.lib.ResourceMap{*;}
#信鴿推送
-keep class com.tencent.android.tpush.**  {* ;}
-keep class com.tencent.mid.**  {* ;}
#自己項目特殊處理代碼
#忽略警告
-dontwarn com.veidy.mobile.common.**
#保留一個完整的包
-keep class com.veidy.mobile.common.** {*;}
-keep class  com.veidy.activity.login.WebLoginActivity{*;}
-keep class  com.veidy.activity.UserInfoFragment{*;}
-keep class  com.veidy.activity.HomeFragmentActivity{*;}
-keep class  com.veidy.activity.CityActivity{*;}
-keep class  com.veidy.activity.ClinikActivity{*;}
#如果引用了v4或者v7包
-dontwarn android.support.**
############<span></span>混淆保護自己項目的部分代碼以及引用的第三方jar包library-end##################
-keep public class * extends android.view.View {public <init>(android.content.Context);public <init>(android.content.Context, android.util.AttributeSet);public <init>(android.content.Context, android.util.AttributeSet, int);public void set*(...);
}
#保持 native 方法不被混淆
-keepclasseswithmembernames class * {native <methods>;
}
#保持自定義控件類不被混淆
-keepclasseswithmembers class * {public <init>(android.content.Context, android.util.AttributeSet);
}
#保持自定義控件類不被混淆
-keepclasseswithmembers class * {public <init>(android.content.Context, android.util.AttributeSet, int);
}
#保持自定義控件類不被混淆
-keepclassmembers class * extends android.app.Activity {public void *(android.view.View);
}
#保持 Parcelable 不被混淆
-keep class * implements android.os.Parcelable {public static final android.os.Parcelable$Creator *;
}
#保持 Serializable 不被混淆
-keepnames class * implements java.io.Serializable
#保持 Serializable 不被混淆并且enum 類也不被混淆
-keepclassmembers class * implements java.io.Serializable {static final long serialVersionUID;private static final java.io.ObjectStreamField[] serialPersistentFields;!static !transient <fields>;!private <fields><span></span>;!private <methods>;private void writeObject(java.io.ObjectOutputStream);private void readObject(java.io.ObjectInputStream);java.lang.Object writeReplace();java.lang.Object readResolve();
}
#保持枚舉 enum 類不被混淆 如果混淆報錯,建議直接使用上面的 -keepclassmembers class * implements java.io.Serializable即可
#-keepclassmembers enum * {
#  public static **[] values();
#  public static ** valueOf(java.lang.String);
#}
-keepclassmembers class * {public void *ButtonClicked(android.view.View);
}
#不混淆資源類
-keepclassmembers class **.R$* {public static <fields>;
}
#避免混淆泛型 如果混淆報錯建議關掉
#–keepattributes Signature
#移除log 測試了下沒有用還是建議自己定義一個開關控制是否輸出日志
#-assumenosideeffects class android.util.Log {
#    public static boolean isLoggable(java.lang.String, int);
#    public static int v(...);
#    public static int i(...);
#    public static int w(...);
#    public static int d(...);
#    public static int e(...);
#}

文章不錯,引用來自:http://my.oschina.net/kooeasy/blog/479083?p=1

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/283822.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/283822.shtml
英文地址,請注明出處:http://en.pswp.cn/news/283822.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

vue+vuecli+webapck2實現多頁面應用

準備工作 在本地用vue-cli新建一個項目&#xff0c;首先安裝vue-cil&#xff0c;命令&#xff1a; npm install -g vue-cli 新建一個vue項目,創建一個基于"webpack"的項目,項目名為vuedemo&#xff1a; vue init webpack vuedemo 這里有一個地方需要改一下&#xff0…

一文把Docker、Kubernetes搞懂:什么是Docker?什么是Kubernetes?Docker和Kubernetes有什么關系和區別?通俗解釋Docker、Kubernetes

一、Docker解決的問題 1、統一標準 ● 應用構建 ○ Java、C、JavaScript——編程各異 ○ 打成軟件包 ○ .exe&#xff08;類似Windows&#xff0c;最終也只是生產exe執行&#xff09; ○ 使用docker build … 打包成 鏡像——這就類似于exe ● 應用分享 ○ 所有軟件的鏡像放到一…

Python-高階函數

#encodingUTF-8import sys # 高階函數高階函數實際上是參數可接受函數的函數即參數為函數的函數 # map()map()接收兩個參數&#xff0c;一個是函數&#xff0c;一個是序列&#xff0c;將此函數分別作用于該序列的每個元素&#xff0c;返回處理后的序列結果def c2(x): return x…

程序員雙手飛快敲鍵盤的時候是在敲代碼嗎?

當你看到一個程序員的兩只手在鍵盤上上下翻飛&#xff0c;行云流水的時候&#xff0c;多半不是在敲擊代碼大概率是在跟產品經理撕逼討論需求另一種可能就是在跟測試打口水仗10%幾率是在論壇碼字摸魚或者和人家開噴了。1%幾率是在跟MM聊天可以手速飛快而不需要停下思考的代碼&am…

erlang-17版本的編碼方式

最近在騰訊云租了個云主機&#xff1a;鏡像提供方&#xff1a;選擇服務市場 &#xff1a;多語言環境&#xff08;Centos 7.0 64位 Python Perl Ruby Erlang &#xff09; 他們集成軟件安裝的是erlang-17版本&#xff0c;我之前用erlang-16版本一直沒遇到什么問題&#xff1b; 這…

幾分鐘上線一個網站 真是神器

1、ToolJet 簡介 ToolJet 是一個開源的低代碼框架&#xff0c;可以快速構建和部署內部工具&#xff0c;而無需工程團隊付出太多努力。您可以連接到您的數據源&#xff0c;例如數據庫&#xff08;如 PostgreSQL、MongoDB、Elasticsearch 等&#xff09;、API 端點&#xff08;To…

翻譯:用戶變量(User-Defined Variable)(已提交到MariaDB官方手冊)

本文為mariadb官方手冊&#xff1a;User-Defined Variables的譯文。 原文&#xff1a;https://mariadb.com/kb/en/user-defined-variables/我提交到MariaDB官方手冊的譯文&#xff1a;https://mariadb.com/kb/zh-cn/user-defined-variables/ 用戶變量是指由用戶創建&#xff0…

移植Python3到TQ2440(一)

平臺 硬件&#xff1a;TQ2440 64MB內存 256MB NandFlashbootloader&#xff1a;U-Boot 2015.04kernel&#xff1a;linux-4.9Python: Python-3.6.0工具鏈&#xff1a;arm-none-linux-gnueabi-gcc 4.8.3概述 現在樹莓派很火&#xff0c;在樹莓派上面用戶可以通過Python來控制板…

WinForm(六)組合布局屬性

WinForm是基于控件的&#xff0c;不像codemark的架構&#xff0c;可以非常靈活的用mark來布局&#xff0c;它只能用控件布局屬性和窗口控件來完成對UI的布局。容器控件有一組控件叫容器控件&#xff0c;對布局特別有作用&#xff0c;它們分別是&#xff1a;TableLayoutPanel&am…

Qt 網絡編程

QT 網絡編程 TCP 編程 模塊引入 QT network 頭文件 #include <QTcpServer> // TCP服務器端使用 #include <QTcpSocket> // TCP服務器和客戶端都使用 編程流程 服務端 1&#xff09;實例化 QTcpServer 對象 -----------------------------> socket 2&#x…

HDU 5037 Frog(2014年北京網絡賽 F 貪心)

開始就覺得有思路&#xff0c;結果越敲越麻煩。。。   題意很簡單&#xff0c;就是說一個青蛙從0點跳到m點&#xff0c;最多可以跳l的長度&#xff0c;原有石頭n個&#xff08;都僅表示一個點&#xff09;。但是可能跳不過去&#xff0c;所以你是上帝&#xff0c;可以隨便在哪…

Kafka高性能高吞吐的原因總結

1、磁盤順序讀寫 保證了消息的堆積 順序讀寫 磁盤會預讀,預讀即在讀取的起始地址連續讀取多個頁面&#xff0c;主要時間花費在了傳輸時間,而這個時間兩種讀寫可以認為是一樣的。 隨機讀寫 因為數據沒有在一起&#xff0c;將預讀浪費掉了&#xff0c;需要多次尋道和旋…

日利率

2019獨角獸企業重金招聘Python工程師標準>>> 利率計算 轉載于:https://my.oschina.net/u/3342652/blog/1649028

linux下使用tar命令

解壓語法&#xff1a;tar [主選項輔選項] 文件或者目錄 使用該命令時&#xff0c;主選項是必須要有的&#xff0c;它告訴tar要做什么事情&#xff0c;輔選項是輔助使用的&#xff0c;可以選用。主選項&#xff1a;c 創建新的檔案文件。如果用戶想備份一個目錄或是一些文件&…

Kafka 安裝詳解

注意&#xff1a;確保有JDK1.8版本及以上 官方文檔&#xff1a;https://kafka.apache.org/quickstart 清華鏡像下載&#xff1a;https://mirrors.tuna.tsinghua.edu.cn/apache/kafka/ 首先下載安裝包&#xff0c;在linux及Windows都可以使用。 1. Centos 安裝部署 1.1 下載 將下…

【Maui正式版】創建可跨平臺的Maui程序,以及有關依賴注入、MVVM雙向綁定的實現和演示...

前言&#xff1a;Maui終于在2022年8月9日推送出來了。今兒就迫不及待來把玩一下先。A、我本地已有VS2022&#xff0c;不過版本比較老&#xff0c;此處選擇更新。工具 -> 獲取功能和更新里面&#xff0c;可以獲取到新版本更新。B、最新版本是17.3.0&#xff0c;我本地只有17.…

學go語言能做什么工作?

Go語言主要用作服務器端開發&#xff0c;其定位是用來開發“大型軟件”的&#xff0c;適合于很多程序員一起開發大型軟件&#xff0c;并且開發周期長&#xff0c;支持云計算的網絡服務。Go語言能夠讓程序員快速開發&#xff0c;并且在軟件不斷的增長過程中&#xff0c;它能讓程…

WebSQL存儲

2019獨角獸企業重金招聘Python工程師標準>>> WebSQL這種存儲技術&#xff0c;相對于學過數據庫的人來說&#xff0c;還是比較容易理解和上手的&#xff0c;主要就是它的存儲風格和我們一般所學的SQL Server 和Oracle比較像&#xff0c;對于HTML5來說&#xff0c;當然…

軟件工程第一次作業補充

1.關注《構建之法》的作者鄒欣老師的博客&#xff1b;2.花二十分鐘寫一個能自動生成小學四則運算題目的“軟件”&#xff0c;要求除了整數以外&#xff0c;還要支持真分數的四則運算。將代碼上傳至coding.net,并將地址發布至自己的博客。代碼地址&#xff1a; https://coding.n…

抖音服務器帶寬有多大,才能供上億人同時刷?

最近看到一個有意思的提問&#xff1a;抖音服務器帶寬有多大&#xff0c;為什么能夠供那么多人同時刷&#xff1f;今天來給小伙伴們科普一下。 抖音&#xff0c;百度&#xff0c;阿里云&#xff0c;騰訊都是自建的數據中心&#xff0c;都是 T 級別出口帶寬&#xff08;總出口帶…