2013-08-05 56 views
4

我一直在使用android構建系統進行大量工作,並遇到一種情況,即proguard刪除了導致NoClassDefFoundError的必需類。我可以告訴課堂沒有被發現,但是我花了一段時間才發現proguard搞亂了用我的代碼構建的類。我在哪裏可以找到有關proguard的Android構建選項的文檔

我終於發現,我可以通過將LOCAL_PROGUARD_ENABLED := disabled添加到Android.mk文件來阻止proguard運行。

我只能做到這一點,因爲我碰巧碰巧有人在其他人的Android.mk文件中做了同樣的事情。

我一直沒能找到任何文檔以下

LOCAL_PROGUARD_FLAGS 
LOCAL_PROGUARD_ENABLED 
LOCAL_PROGUARD_FLAG_FILES 

,盡我所能告訴LOCAL_PROGUARD_FLAGS典型用法是確定如下使用ProGuard的配置文件的位置:

LOCAL_PROGUARD_FLAGS := -include $(LOCAL_PATH)/proguard.flags 

問題是我不能找出它從用作LOCAL_PROGUARD_FLAG_FILES的區別如下:

LOCAL_PROGUARD_FLAG_FILES := proguard.flags 

LOCAL_PROGUARD_ENABLED可用於禁用proguard,但不是disabled選項我不知道此選項還可以使用哪些選項。

LOCAL_PROGUARD_ENABLED := disabled 

有沒有人知道在哪裏可以找到這些構建選項的文檔(官方或非官方)? Google似乎沒有回報對我的搜索有用的任何內容。

+0

你讀了Android開發人員網站Proguard的文檔? http://developer.android.com/tools/help/proguard.html特別是配置Proguard和使用'-keep'來防止剝離某些類? – Squonk

+0

@Squonk是的,我已閱讀您鏈接到的文檔。不幸的是,這些文件已過時。隨着ADT 17的發佈,proguard的使用方式也發生了變化。請參閱:http://tools.android.com/recent/proguardimprovements。這些文檔都沒有提到我最初詢問的三個Android.mk構建選項。我不得不嘗試找到一個有效的解決方案。如果我能找到一些文件,它會節省我幾個小時。此外,這將有助於確認我的解決方案是最佳解決方案。 – gnash117

回答

相關問題