2012-07-19 82 views
3

我有一個複雜的應用程序結構,主項目有android庫,它們有自己的android庫和jar。IntelliJ Idea Android項目包括未讀的apk文件

主要項目

  • 利布斯
    • 的Android庫項目一
      • 的Android庫B項目

澄清我有一個Android庫項目,它具有ActionBarSherlock依賴和Facebook依賴項,我在幾個類似的應用程序之間使用這個庫項目。

在過去,我只能添加庫作爲依賴關係,它只會構建與android相關的文件(src/res),但現在它包含了路徑中的所有內容(測試,文檔,示例文件夾,網站) 。

我不確定發生了什麼變化,但我的apks現在塞滿了很多我不想要的文件,我不確定在哪裏指定不包含它們。

注意:我不能「刪除」不需要的文件的原因是因爲我使用子模塊克隆了回購站。

我使用的IntelliJ IDEA 11.1.2和Android R20

更新: 這裏是我有問題的樣本項目:http://dl.dropbox.com/u/713581/TestDependency.zip

+0

是否與http://confluence.jetbrains.net/display/IDEADEV/IDEA+11.1+EAP可用11.1.3 RC發生的呢?你能分享一個小型的獨立測試用例項目來重現這個問題嗎? – CrazyCoder 2012-07-19 01:05:14

+0

我會給它一個鏡頭,回到你身邊。 – sgarman 2012-07-19 06:08:40

+0

更新了帶有示例項目的問題。我也嘗試了EAP並得到了相同的結果。我認爲這與/ libs文件夾有關,或者只是我添加依賴關係的方式,但我似乎無法找到正在工作的組合,也沒有在構建中構建到apk中。 – sgarman 2012-07-19 18:49:49

回答

6

這是因爲你把你的模塊在名爲libs的目錄中,這是默認爲本地庫設計的(通常爲.so文件)。在構建項目時,libs目錄中的所有文件都包含在目標文件apk中。

要解決此問題轉到項目結構,選擇test依賴模塊,開放的Android 設置,更改本地庫目錄設置一些其他的路徑(像libs_代替libs)。對TestLib模塊重複相同的操作,重建項目。現在最後的apk大小是~486KB,並且不包括來自libs文件夾的文件。

Native libs directory

+0

非常奇妙的答案。 – sgarman 2012-07-20 18:07:02

相關問題