在內網使用Gradle構建Android Studio項目


在Android Studio項目中,默認的遠程倉庫為jcenter,如果在項目引用了一些類庫,Gradle構建程序的時候會將這些依賴類庫從jcenter網站下載到本地,如我們在 build.gradle使用了以下依賴:

dependencies {
    compile 'de.hdodenhof:circleimageview:2.1.0'
}

 下載的地址為:https://jcenter.bintray.com/de/hdodenhof/circleimageview/2.1.0/

 本地緩存地址為:C:\Users\xxx(用戶名)\.gradle\caches\modules-2\files-2.1\de.hdodenhof\circleimageview\2.1.0

這三個目錄依次存放文件circleimageview-2.1.0.pom,circleimageview-2.1.0.aar,circleimageview-2.1.0-sources.jar

如果沒有網絡或我們設置Gradle為offline模式時,Gradle就會使用這些緩存文件,不再連接jcenter去獲取這些依賴包

很多公司的辦公網絡,考慮到安全,保密等因素,是不允許連接到外網或無法訪問到jcenter,那么這時候如何在內網使用Gradle構建Android程序呢?這是個棘手的問題啊,難道讓我放棄心愛的butterknife,RxJava...?難道讓我復制一堆jar包到libs目錄下?

聰明的程序員顯然是不會這么做的,研究了一下,發現在內網環境下,我們依然可以很愉快的使用Gradle構建Android項目

此處假設外網電腦A,內網電腦B,如我們需要在項目中使用circleimageview,那么將A中緩存的circleimageview類庫復制到B中Android SDK extras目錄下對應的目錄即可,

即將A中緩存的circleimageview-2.1.0.pom,circleimageview-2.1.0.aar,circleimageview-2.1.0-sources.jar文件復制到B中xxx(android sdk目錄)\extras\m2repository\de\hdodenhof\circleimageview\2.1.0目錄下

如果我們在項目中使用了butterknife,如下:

dependencies {
    compile 'com.jakewharton:butterknife:8.4.0'
    annotationProcessor  'com.jakewharton:butterknife-compiler:8.4.0'
}

 那么我們在內網中如何使用butterknife呢?由於butterknife項目引用了javapoet,auto-common,auto-service類庫,我們也需要把這些類庫放到extras目錄下

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM