离线gradlew命令行打包apk设置
因为使用命令行 gradlew 命令打包 apk,gradle 和 gradle pluging 等设置都须要配置到相应的配置文件中,因此在 Android Stuido 中的相应设置都不起做用了android
gradle离线模式设置
修改 gradle 位置,配置文件位置在于Project目录下 ./gradle/wrapper/gradle-wrapper.proerties网络
添加或修改 distributionUrl 设置,原值应该是 https://services.gradle.org/distributions/gradle-2.14.1-all.zip 其中 2.14.1 是相应的版本号,在本地没有相关文件时,就会去上面的路径去下载。app
将从网上下载好的 gradle 压缩包放到 ./gradle/wrapper/ 目录下maven
将 distributionUrl 值改成 gradle-3.3-all.zip 即ide
distributionUrl=gradle-3.3-all.zip工具
gradle-3.3-all.zip 是我离线打包时须要的 gradle 版本号gradle
android gradle pluging 离线配置
gradle 和 android 的 gradle pluging 是不一样的两个东西,可是两者又相互关联,二者的版本号有对应关系才能配合使用ui
具体版本号对应关系连接加密
在 Project 中,gradle pluging 的配置位置位于 Project 根目录下 ./build.gradle 文件中,默认以下url
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 版权声明:本文为博主原创文章,转载请附上博文连接!