2013-09-25 253 views
2

我正在嘗試使用proguard來模糊我的Android應用程序的代碼。Proguard:空白屏幕

我的問題是,我的應用程序的某些屏幕工作正常,其他人顯示一個空白屏幕(儘管不完全空白,例如我的頂部標題欄顯示正確,但其餘內容是空白的)。

我已經開始與基本設置:

proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt 

然後,在proguard的-project.txt,我嘗試添加:

-keep class {my.package.name}.** { *; } 

無變化

然後

-dontskipnonpubliclibraryclassmembers 

沒有cha NGE

然後

-dontobfuscate 

這顯然解決了這個問題,但再沒有一點因爲我想混淆我的代碼。

有什麼想法?

回答

0

看看ProGuard創建的輸出;它會告訴你什麼類被重命名,哪些類被刪除(因爲它們看起來沒有被使用)。你將需要修改你的配置來重新命名或刪除這些課程。通常,您可以在AndroidManifest.xml和混淆後丟失的部分之間找到交互(並且logcat甚至可能會告訴您缺少什麼)。反思的使用不太可能導致ProGuard沒有意識到保持這些事情的重要性。

如果您決定需要完全混淆正在被更改的東西,但仍然需要,您需要創建可以避免混淆並且知道如何進入真實類的瘦對象代理。

+0

謝謝啊,我會努力的 – Don