Android Studio項目Gradle內網配置

因爲內網沒法鏈接到外部網絡,在使用Gradle編譯Android Studio項目時就會面臨一些問題:java

1.Gradle安裝文件沒法下載android

2.Gradle Android插件沒法下載web

3.項目依賴文件沒法下載apache

苦心人天不負,經過摸索,找到了一些解決方法,與你們分享瀏覽器

開發機器信息:緩存

操做系統:Windowstomcat

服務器的信息:服務器

IP地址:192.68.121.130網絡

操做系統: SUSE Linux Enterprise Server 11 SP4 (x86_64)app

Java版本: 1.8.0_144

Tomcat版本: 7.0.70

Gradle安裝文件存放目錄爲:/home/jack/Desktop/jack/software/gradle

Android APP信息:

Gradle Android插件版本:2.3.3

Gradle Wrapper版本:3.3

依賴文件:

junit:4.12

butterknife:8.4.0

打包命令:gradlew build

解決內網環境下Gradle安裝文件沒法下載的問題

1. 在服務器上安裝Tomcat

1.1 從Tomcat網站下載Tomcat 7.0.70,地址:
https://archive.apache.org/dist/tomcat/tomcat-7/v7.0.70/bin/apache-tomcat-7.0.70.tar.gz
1.2 解壓Tomcat,執行如下命令
 tar zxvf apache-tomcat-7.0.70.tar.gz
 如解壓後Tomcat對應的目錄爲:
 /home/jack/Desktop/jack/software/apache-tomcat-7.0.70
1.3 設置環境變量TOMCAT_HOME爲:
  /home/jack/Desktop/jack/software/apache-tomcat-7.0.70
1.4 啓動Tomcat,執行如下命令:
  cd $TOMCAT_HOME
  sh bin/startup.sh

2. 創建軟連接:

   cd $TOMCAT_HOME/webapps
   ln -s /home/jack/Desktop/jack/software/gradle gradle

3. 將gradle-3.3-all.zip上傳到服務器/home/jack/Desktop/jack/software/gradle目錄下

此時訪問 http://192.168.121.130:8080/gradle/gradle-3.3-all.zip,如能夠下載文件,則配置成功

4. 替換項目中gradle-wrapper.properties文件的distributionUrl

 

5. 在項目根目錄下執行gradlew –v,若是本地沒有緩存3.3版本則先會從服務器下載gradle-3.3-all.zip並緩存到本地(默認本地緩存目錄爲C:\Users\xxx\.gradle\wrapper\dists),而後再執行命令

解決內網環境下Gradle Android插件沒法下載的問題

 1.在服務器上使用Nexus架設Maven私服

    1.1 下載Nexus,地址:https://www.sonatype.com/download-oss-sonatype

         本人使用的是Nexus版本爲Nexus Repository Manager OSS 2.14.4-03,使用的安裝文件爲nexus-2.14.4-03-bundle.tar.gz

    1.2 解壓Nexus

         tar zxvf nexus-2.14.4-03-bundle.tar.gz

         如解壓後Nexus對應的目錄爲:

         /home/jack/Desktop/jack/software/nexus

      

   1.3 啓動nexus

      cd /home/jack/Desktop/jack/software/nexus

      cd nexus-2.14.4-03/bin

      ./nexus start

  1.4 此時在瀏覽器中輸入地址http://192.168.121.130:8081/nexus,若是能打開頁面,則nexus配置成功了

 

  Nexus啓動默認的端口爲8081,能夠經過修改nexus-2.14.4-03/conf/ nexus.properties文件改變端口,上下文等信息

 

   1.5 登陸nexus,點擊右上角的Log In進行登陸,默認的管理員用戶名密碼爲admin/admin123

   1.6 上傳Gradle Android插件到Maven私服,此處以上傳Gradle Android Plugin 2.3.3版本到3rd party爲例


因爲gradle插件有不少依賴,層層依賴,所以此處需上傳不少jar包,部分目錄結構以下:

1.7 修改項目根目錄build.gradle的buildscript節點,指定使用Maven私服地址下載插件,以下:

buildscript { repositories { maven { url "http://192.168.121.130:8081/nexus/content/groups/public" } } dependencies { classpath 'com.android.tools.build:gradle:2.3.3' } }

解決內網環境下項目依賴文件沒法下載的問題

   1 將junit相關文件上傳到Maven私服,須要上傳的信息以下:

        junit:junit:4.12

       org.hamcrest: hamcrest-core:1.3

       org.hamcrest: hamcrest-integration:1.3

      org.hamcrest: hamcrest-library:1.3

      org.hamcrest: hamcrest-parent:1.3

  2 將bufferknife相關文件上傳到Maven私服,須要上傳的信息以下:

    com.jakewharton: butterknife:8.4.0

   com.jakewharton: butterknife-annotations: 8.4.0

   com.jakewharton: butterknife-compiler: 8.4.0

   com.google.auto.service: auto-service: 1.0-rc2

   com.squareup:javapoet:1.7.0

   com.google.auto:auto-common:0.6

   com.google.auto:auto-parent:2

   com.google.auto:auto-parent:3

3 修改項目根目錄的build.gradle,修改節點allprojects,指定使用Maven私服地址下載依賴項,以下:

allprojects { repositories { maven { url "http://192.168.121.130:8081/nexus/content/groups/public" } } }

最後項目根目錄的build.gradle以下:

buildscript { repositories { maven { url "http://192.168.121.130:8081/nexus/content/groups/public" } } dependencies { classpath 'com.android.tools.build:gradle:2.3.3' } } allprojects { repositories { maven { url "http://192.168.121.130:8081/nexus/content/groups/public" } } } task clean(type: Delete) { delete rootProject.buildDir }

 咱們能夠經過定義擴展屬性ext簡化build.gradle,簡化後的build.gradle文件以下:

buildscript { ext.maven_url = "http://192.168.121.130:8081/nexus/content/groups/public" ext.android_plugin_version = "2.3.3" repositories { maven { url "$maven_url" } } dependencies { classpath "com.android.tools.build:gradle:$android_plugin_version" } } allprojects { repositories { maven { url "$maven_url" } } } task clean(type: Delete) { delete rootProject.buildDir }

 大功告成,至此問題所有解決,輸入gradlew build命令愉快編譯吧。

總結:

1.使用Tomcat解決內網沒法下載Gradle安裝文件的問題

2.使用Maven私服解決內網沒法下載Gradle Android插件及依賴文件的問題

相關文章
相關標籤/搜索