文档章节

离线gradlew命令行打包apk设置

shzwork
 shzwork
发布于 07/06 14:58
字数 958
阅读 33
收藏 0

离线gradlew命令行打包apk设置
由于使用命令行 gradlew 命令打包 apk,gradle 和 gradle pluging 等设置都需要配置到相应的配置文件中,所以在 Android Stuido 中的相应设置都不起作用了

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 
版权声明:本文为博主原创文章,转载请附上博文链接!

本文转载自:https://blog.csdn.net/u012123160/article/details/73275912

shzwork
粉丝 15
博文 828
码字总数 18401
作品 0
厦门
私信 提问
LibGDX_7.6: 使用 Gradle 命令运行和打包项目

本文链接: http://blog.csdn.net/xietansheng/article/details/50188219 LibGDX 基础教程(总目录) 使用 Eclipse 等 IDE 工具也可以很方便的实现项目的运行和打包,但步骤比较繁琐,这里只简...

xietansheng
2015/12/07
0
0
手把手教你AndroidStudio多渠道打包

最近不断有朋友向我咨询AndroidStudio多渠道的打包方法,今天整理一下之前积累的打包套路,写一篇文章,手把手的教给大家。 (一)在AndroidManifest.xml里设置动态渠道变量 (二)在build.g...

丁佳辉
2016/07/01
49
0
史上最详细的Android Studio系列教程五--Gradle命令详解与导入第三方包

Android Studio + Gradle的组合用起来非常方便,很多第三方开源项目也早都迁移到了Studio,为此今天就来介绍下查看、编译并导入第三方开源项目的方法。 Sublime + Terminal编译并查看源码 首...

让代码飞一会
2015/07/05
604
1
Android Studio 教程(干货)

目录 !!!原创地址:http://write.blog.csdn.net/mdeditor#!postId=49473215 欢迎大家评论交流,如有问题,可以留言!!! 常见设置 导入第三方主题 自动提示的设置 修改成Eclipse的快捷键...

lyon007
2016/01/11
0
0
如何解决 Android Studio 三方库依赖冲突问题

今天我们不继续说面试,讲点其他的,有一些废话,关注标题的请直接拉到下面。 近期呀,笔者除了整理 面试系列,其实还在做一件事,就是在费心费力地准备把 AiYaGirl 进行重构。 AiYaGirl 是一...

nanchen2251
2017/11/02
0
0

没有更多内容

加载失败,请刷新页面

加载更多

nginx+tomcat配置https

1、nginx配置https和【proxy_set_header X-Forwarded-Proto $scheme;】 2、java代码: String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServe......

perofu
20分钟前
4
0
必看的Linux系统新手进阶老手心得

不知道从什么时候起,linux这个话题变得越来越普及,成为大家经常讨论的话题。无论在网络上还是实际生活中,竟然很多人都在纠结学习linux的问题。网络上给的答案千千万万,而却还有很多人踌躇...

Linux就该这么学
23分钟前
4
0
Spring Boot 配置元数据指南

1. 概览 在编写 Spring Boot 应用程序时,将配置属性映射到 Java bean 上是非常有用的。但是,记录这些属性的最好方法是什么呢? 在本教程中,我们将探讨 Spring Boot Configuration Proces...

liululee
27分钟前
3
0
foreach查找子类

$list = $menu_model -> menu_list();$parent_list = [];foreach ($list as $v){ if ($v['pid'] == 0) { $parent = $v; foreach ($list as $v1) ......

小小小壮
38分钟前
3
0
基于 HTML5 Canvas 实现的 TP-LINK 电信拓扑设备面板

前言 今天我们以真实的 TP-LINK 设备面板为模型,完成设备面板的搭建,和指示灯的闪烁和图元流动。 先来目睹下最终的实现效果:http://www.hightopo.com/demo/blog_tplink_20170511/index.h...

htdaydayup
44分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部