![](/img/trans.png)
[英]Problems compiling Android app in release mode with proguard enabled
[英]Problems compiling an Android App with Ant and Proguard
我有一個包含不同模塊的Android應用程序。 Main模塊正在使用某些庫,例如Google的GSON或v4.support.package。 具有正確的proguard.cfg的自定義構建腳本也將對其進行構建。 現在,我必須集成另一個使用部分相同庫(GSON support.v4)的“ Android庫”。 除了獲得很多像
注意:程序類[com.google.gson.Gson]的重復定義
我也收到一些筆記
[proguard]注意:com.google.gson.UnsafeAllocator:找不到動態引用的類sun.misc.Unsafe
[proguard]注意:該配置引用了未知類'sun.misc.Unsafe'
我發現奇怪的原因,尤其是在Proguard.cfg中有一些“ keeps”:
-keepattributes簽名, 注釋
-keep com.google.gson類。** {*;}
-保持類sun.misc.Unsafe {*; }
無需引用其中的模塊庫即可在我的項目中很好地工作。 我使用的是最新的SDK和工具,並在模塊庫中添加了自定義proguard.cfg,它在模塊庫本身(如果以獨立模式構建)上運行良好。 在我看來,該構建不依賴於庫項目中的自定義proguard.cfg。 任何嘗試什么的想法都受到贊賞
我終於找到了自己的解決方案:使用最新的Android工具(16),每個Android庫都首先進行編譯。 因此,當lib沒有“標准”構建並定義了一些自定義構建腳本(包括proguard --keeps),並且此--keeps在同一項目(不包括未編譯的Android SDK類)上定義時,將導致一個proguard錯誤。 解決方案是從庫中刪除proguard並復制主應用程序內的--keeps
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.