Gradle 編譯多個工程(包含多Library庫工程依賴)指導,gradlelibrary

來源:互聯網
上載者:User

Gradle 編譯多個工程(包含多Library庫工程依賴)指導,gradlelibrary

Gradle Android最新自動化編譯指令碼教程(提供demo源碼)

這篇文章我簡單寫了基於Gradle2.1 進行的android project和android library的編譯執行個體,隨後有網友問我是否支援依賴多library編譯,我的回複是肯定的,詳細見下面的指導:


在實際開發中有很多工程引用到了android-support-v4.jar或者其他的jar包資源;

有時候,在每個library庫的libs裡都放進android-support-v4.jar 在eclpse裡編譯運行是沒有問題,因為你可以將多餘的jarexclud編譯設定,但是放在外邊執行gradle build的話,會提示jar包重複



解決方案:

在eclipse裡我們可以將公用的jar包做一個工程,其他library庫引用這個jar包庫,然後再被主project所引用;

這樣的話,在每個庫工程裡的build.gradle裡都要設定如下:

dependencies{compile fileTree(dir:'libs',include:"*.jar")compile project(':DependLibs:appcompat_v7')}

這樣寫貌似挺對,但是仔細想想還是不對,因為每個引用的庫都編譯的時候把公用jar庫給編譯引用了,最後還是會提示衝突。


正確寫法改正如下:

dependencies{compile fileTree(dir:'libs',include:"*.jar")//compile project(':DependLibs:appcompat_v7')compile 'com.android.support:support-v4:20.0.0'}

還有一個不正確寫法

dependencies{compile fileTree(dir:'libs',include:"*.jar")//compile project(':DependLibs:appcompat_v7')compile 'com.android.support:support-v4:20'}

看到這2個寫法的區別了嗎?


提示你找不到  Could not find com.android.support:support-v4:20


出現這種問題,自己先看看:



Android sdk的 Extras包裡的Android Support Respository和Andoid Support Library是否 Installed,如果安裝了

可以跑到下面目錄找D:\dev\adt-bundle-windows-x86-20140702\sdk\extras\android\m2repository\com\android\support\support-v4\20.0.0




找到了,就開始build吧。




引用了很多slidingmenu_library,viewPagerlibrary 工程都編譯通過了。


有什麼問題,大家可以跟我交流(QQ群:221057495)。



Linux動態庫多重依賴,編譯問題

這隻能說明一個問題,你依賴的庫本身有問題,沒有把它的依賴都加進去,也就是你例子中的①libb.so依賴liba.so;,你應該在產生libb.so的時候,把對liba.so的依賴加進去,這樣應該就沒有問題了。
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.