簡體   English   中英

Android庫項目:模糊並保留資源

[英]Android Library Project: Obfuscate and keep resources

我想用Proguard我的Android項目和一些額外的Android庫項目進行編譯。 實際上,大多數代碼和資源都存在於這些庫中。

我在主項目的project.properties中添加了行“proguard.config = proguard.cfg”,我已經配置了cfg-file(-libraryjars .. \\ libs)。 然后 - 右鍵單擊​​,Android工具 - >導出簽名的應用程序包。 ADT編譯項目發布,但應用程序在第一次啟動時崩潰:當我從日志中讀取時,這是因為錯誤的資源指針。

我已反編譯項目並發現非常奇怪的事情:如果我在庫中聲明資源,那么它上面的資源指針變為0。

當我將“proguard.config = proguard.cfg”行添加到我所有Android庫項目的project.properties中時,問題並未消失。

有解決方案嗎

編輯:查看proguard.cfg的片段:

-optimizationpasses 5
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontpreverify
-verbose
-optimizations !

-printusage unused.txt
-optimizationpasses 2
-printmapping mapping.txt
# -overloadaggressively
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontpreverify
-verbose
-dump class_files.txt
-printseeds seeds.txt

-libraryjars ..\libs

你確定你有最新的工具嗎? 像Eclipse Indigo,ADT v16.0.1和proguard 4.7? 在更新到最新工具之前,我也遇到過問題。

您如何包含/引用您的Android庫項目? 如果我正確讀取它,你將它們添加為jar? 如果是這樣,你真的可能會遇到圖書館項目提供的資源的麻煩。

如果我是對的,請嘗試:

使用項目設置並在那里添加庫項目。 不要使用一些導出的罐子。 Android庫項目的工作方式與普通的Java庫不同。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM