2012-09-11 23 views
1

我知道最新版本的Android工具,我們可以使用if(BuildConfig.DEBUG == true),我相信它會去掉代碼。從生產中刪除調試活動APK

是否有可能從生產版APK中刪除僅用於調試目的的活動?

回答

0

是否有可能去掉那些只用於從調試目的的活動生產發佈APK?

從Java的角度來看,ProGuard可能會通過適當的規則擺脫它們。但是,清單條目將保留,只有那些僅限於那些僅限於開發模式的活動才需要的資源等等。最好的情況是,這會增加膨脹。最糟糕的情況是,如果清單條目導出了這些活動(例如,通過發佈<intent-filter>),那麼當某些事情嘗試運行這些活動時,您的應用將崩潰。

+0

這就是我的想法。如果有人試圖使用我開始和我的應用程序崩潰,那麼它應該沒問題,我可以清單中的一些臃腫。 – dnkoutso

0

不,沒有這樣的功能。你也許可以嘗試這樣做,有自定義生成腳本,但也許就足夠了簡單的檢查debuggable標誌的應用程序:

Boolean isDebuggable = ((getApplicationInfo().flags & ApplicationInfo.FLAG_DEBUGGABLE) != 0);