2016-08-23 49 views

回答

2

正如從這裏我的答案,Proguard的是主要工藝之一,當您試圖編譯一個APK(尤其是當你鬆開APK至Google Play商店)

  1. 混淆

  2. 優化

  3. 收縮

Android studio import problems. (Apktool)

要說它簡單的方法,你可以看到它是如何不proguard的一個的apk會被視爲通過使用一些逆向工程技術

https://ahbsa.wordpress.com/2015/04/30/decompiling-apk-reverse-engineering-android-application/

中的類與proguard apk將使用一些逆向工程技術

enter image description here

你現在可能會想到。即使您使用了Proguard,.dex類仍然可以進行反編譯。但是如果你使用Proguard,代碼幾乎是不可讀的。如果你使用了一些更高級的技術(比如Dexguard),它們可以提供更好的性能,反編譯.dex類後代碼會變得更加複雜。

0

proguard的。 Should I use ProGuard?

我複製從這個問題的答案的情況下,如果該鏈接被打破:

這是很容易進行反向工程的Android應用程序,所以如果你想避免這種情況的發生,是的,您應該將ProGuard用於其主要功能:混淆。

ProGuard還有其他兩個重要功能:縮小,消除未使用的代碼,顯然非常有用,也是優化。不過,優化使用Java字節碼進行操作,而且由於Android運行在從Java字節碼轉換而來的Dalvik字節碼上,所以某些優化不會很好。所以你應該小心點。

有關於如何在Android網站上使用proguard的說明。你需要檢查的主要問題是,你有行

proguard.config = $ {} sdk.dir在project.properties文件/tools/proguard/proguard-android.txt:proguard-project.txt 。既然你提到你使用的是Android Studio,並且你沒有這個文件,但是你會被問到配置文件,請嘗試選擇Android SDK中的工具(tools/proguard/proguard-android.txt)。

0

在Android Studio中

1)進入項目的 「的build.gradle」(模塊的的build.gradle不是根目錄的build.gradle文件)

2)編輯它和 「buildTypes」 添加類型下(因爲我添加了釋放和調試模式)

3)這裏「minifyEnable」是proguard選項使它能夠在各自的模式下運行proguard設置爲TRUE(釋放和調試,我在釋放模式下爲真,在調試模式下爲假)

4)線後即 「proguardFiles getDefaultProguardFile('proguard-android.txt'),表示proguard規則文件 您將在應用程序模塊(模塊)中得到此名稱」proguard-rules.pro「(因爲您可以識別上面的最後一項線) edite /爲proguard添加規則。

5)在這裏你完成了!

如果我失去了一些東西,請告訴我。謝謝。

proguard rules