1. 程式人生 > >離線gradlew命令列打包apk設定

離線gradlew命令列打包apk設定

gradle離線模式設定
修改 gradle 位置,配置檔案位置在於Project目錄下 ./gradle/wrapper/gradle-wrapper.proerties

新增或修改 distributionUrl 設定,原值應該是 https://services.gradle.org/distributions/gradle-2.14.1-all.zip 其中 2.14.1 是相應的版本號,在本地沒有相關檔案時,就會去上面的路徑去下載。

將從網上下載好的 gradle 壓縮包放到 ./gradle/wrapper/ 目錄下

將 distributionUrl 值改為 gradle-3.3-all.zip 即

distributionUrl=gradle-3.3-all.zip

gradle-3.3-all.zip 是我離線打包時需要的 gradle 版本號

android gradle pluging 離線配置
gradle 和 android 的 gradle pluging 是不同的兩個東西,但是二者又相互關聯,兩者的版本號有對應關係才能配合使用

具體版本號對應關係連結

在 Project 中,gradle pluging 的配置位置位於 Project 根目錄下 ./build.gradle 檔案中,預設如下

buildscript {
    repositories {
        jcenter()
}
    dependencies {
        classpath 'com.android.tools.build:gradle:2.2.3'
    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
    }
}
1
2
3
4
5
6
7
8
9
10
其中 jcenter 是由 JFrog 公司提供的 Bintray 中的 Java 倉庫。它是當前世界上最大的 Java 和 Android 開源軟體構件倉庫。 所有內容都通過內容分發網路(CDN)使用加密 https 連接獲取。JCenter 是 Goovy Grape 內的預設倉庫,Gradle 內建支援(jcenter()倉庫),非常易於在(可能除了 Maven 之外的)其他構建工具內進行配置

com.android.tools.build:gradle:2.2.3 表示的是 gradle pluging 外掛的目錄、名稱以及版本號

需要將這個遠端倉庫配置為本地倉庫才能在離線狀態下進行打包

在 Android Studio 安裝根目錄下 ./gradle 可以發現一個叫做 m2repository 的資料夾,這個就是一個自帶的 maven 倉庫,檢視 ./gradle/m2repository/com/android/tools/build/gradle 目錄下是否有離線打包所需要的對應版本的相應資料夾,一般都是有的,如果沒有,聯網狀態下去 ide 中的相關設定裡設定為你需要的版本,然後 ide 會自動下載,再把這個目錄移到需要離線的環境裡覆蓋,又或者去jcenter中去挨個下載,自己建立對應資料夾

在 sdk 的根目錄下 ./extras 也會有一個名為 m2repository 的資料夾,將這個資料夾中的內容複製,移動到 Android Studio 安裝目錄下 ./gradle/m2repository 中覆蓋

在 Project 根目錄下 ./build.gradle 檔案中修改為如下內容

buildscript {
    repositories {
        maven{
            url 'file://D:\\Android Stuido\\gradle\\m2repository'
        }
}
    dependencies {
        classpath 'com.android.tools.build:gradle:2.3.0'
    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
其中 D:\Android Stuido\gradle\m2repository 就是 AS 安裝目錄下的 maven 倉庫路徑

注意,如果有其他的依賴包需要從遠端倉庫下載的話,最好能夠全部放到本地去依賴,或者把需要依賴的包放到本地的 m2repository 倉庫中一份

使用gradlew命令列離線打包apk
在終端/cmd 中,Project 目錄下,使用gradlew命令打包apk,注意在最後加上 –offline 這個命令,表示使用離線模式,例如 gradlew assembleRelease –offline
--------------------- 
作者:nnnnrx 
來源:CSDN 
原文:https://blog.csdn.net/u012123160/article/details/73275912 
版權宣告:本文為博主原創文章,轉載請