首页 > 其他分享 >Android Studio系列教程五--Gradle命令详解与导入第三方包

Android Studio系列教程五--Gradle命令详解与导入第三方包

时间:2023-05-07 16:32:42浏览次数:50  
标签:-- gradlew wrapper gradle Studio build Gradle


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

Sublime + Terminal编译并查看源码

首先来给大家介绍一种简便并且个人最喜欢的一种办法。很多时候我们在GitHub上看到一个不错的开源项目,一般有两种需求,阅读源码和查看运行效果,如果是单纯的查看源码我更喜欢用一些轻量级编辑器,如vim,sublime等,vim不是很熟练,所以个人一种都习惯用sublime来查看并阅读源码(实际开发还是Android Studio、Eclipse等IDE更有效率);至于查看运行效果首先得需要apk,对于一些开源项目已提供apk下载,那就好办,直接安装到手机即可。 而对于一些没有提供apk下载的,则需要自己手动编译打包。

下面以9GAG为例来讲解下命令行Gradle编译的过程。

  • 1、切换到9GAG项目的根目录,执行 ./gradlew -v

如果你是第一次执行会去下载Gradle,这个过程如果不翻墙非常慢,建议翻墙


紧接着下载成功会看到如下信息:

------------------------------------------------------------
Gradle 2.2.1
------------------------------------------------------------

Build time:   2014-11-24 09:45:35 UTC
Build number: none
Revision:     6fcb59c06f43a4e6b1bcb401f7686a8601a1fb4a

Groovy:       2.3.6
Ant:          Apache Ant(TM) version 1.9.3 compiled on December 23 2013
JVM:          1.7.0_60 (Oracle Corporation 24.60-b09)
OS:           Mac OS X 10.9.5 x86_64

------------------------------------------------------------
Gradle 2.2.1
------------------------------------------------------------

Build time:   2014-11-24 09:45:35 UTC
Build number: none
Revision:     6fcb59c06f43a4e6b1bcb401f7686a8601a1fb4a

Groovy:       2.3.6
Ant:          Apache Ant(TM) version 1.9.3 compiled on December 23 2013
JVM:          1.7.0_60 (Oracle Corporation 24.60-b09)
OS:           Mac OS X 10.9.5 x86_64
  • 2、接着执行 ./gradlew clean

执行这个命令会去下载Gradle的一些依赖,下载成功并编译通过时会看到如下信息:

:app:clean UP-TO-DATE
:extras:ShimmerAndroid:clean UP-TO-DATE

BUILD SUCCESSFUL

:app:clean UP-TO-DATE
:extras:ShimmerAndroid:clean UP-TO-DATE

BUILD SUCCESSFUL
  • 3、最后执行 ./gradlew build

这个命令会直接编译并生成相应的apk文件,如果看到如下字样就代表build成功了

BUILD SUCCESSFUL

Total time: 31.456 secs

9GAG/app/build/outputs/apk

以上是我个人习惯的一种阅读第三方源码的习惯,关于上面提到的一些gradle命令大家应该还不理解,后面会一一进行说明的。

导入Android Studio

但是如果你还是想导入Android Studio的话,下面就来简单介绍下导入Studio的方法以及一些注意事项。

  • 1、选择File->Import Project, 选择本地9GAG项目的目录


  • 2、第一次依然会下载Gradle,其实自己在命令行已经下载过了,但是这次依然还要下载一次(依然要翻墙),可能是个bug


  • 3、导入之后你需要注意以下几个地方
  1. 每个Module下的 build.gradle 下的buildToolsVersion,即9GAG/app/build.gradle 和9GAG/extras/ShimmerAndroid/build.gradle , 可以打开 SDK Manager 查看本地你安装的 SDK Build-tools, 如下图,如果相应版本没有安装请先下载。


  1. 项目根目录下的 build.gradle 下gradle插件的版本,如 9GAG/build.gradle
    classpath 'com.android.tools.build:gradle:1.0.0'

Android Studio 1.0必须指定gradle插件1.0的版本

  1. Gradle Wrapper的版本,在 9GAG/gradle/wrapper/gralde-wrapper.properties

Thu Dec 18 16:02:24 CST 2014

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https://services.gradle.org/distributions/gradle-2.2.1-all.zip

上述内容制定了gradle的版本使用2.2.1,在Studio中如果你手动改了gradle插件的版本会有提示要不要更新Gradle Wrapper的版本。

如果以上几个地方确定版本是ok的,那么导入Android Studio应该没有问题,有些老的项目可能gradle版本比较老,仍然在使用一些老的语法,如果编译还通不过参考Android Studio系列教程四--Gradle基础更改成最新的语法。

Gradle常用命令

./gradlew -v ./gradlew clean ./gradlew build, 这里注意是./gradlew, ./代表当前目录,gradlew代表 gradle wrapper,意思是gradle的一层包装,大家可以理解为在这个项目本地就封装了gradle,即gradle wrapper, 在9GAG/gradle/wrapper/gralde-wrapper.properties文件中声明了它指向的目录和版本。只要下载成功即可用grdlew wrapper的命令代替全局的gradle命令。

理解了gradle wrapper的概念,下面一些常用命令也就容易理解了。

  • ./gradlew -v 版本号
  • ./gradlew clean 清除9GAG/app目录下的build文件夹
  • ./gradlew build 检查依赖并编译打包

./gradlew build 命令把debug、release环境的包都打出来,如果正式发布只需要打Release的包,该怎么办呢,下面介绍一个很有用的命令 assemble, 如

  • ./gradlew assembleDebug 编译并打Debug包
  • ./gradlew assembleRelease 编译并打Release的包

除此之外,assemble还可以和productFlavors结合使用,具体在下一篇多渠道打包进一步解释。

  • ./gradlew installRelease Release模式打包并安装
  • ./gradlew uninstallRelease 卸载Release模式包

标签:--,gradlew,wrapper,gradle,Studio,build,Gradle
From: https://blog.51cto.com/u_16099425/6252224

相关文章

  • 史上最详细的Android Studio系列教程四--Gradle基础
    什么是Gradle?Gradle是一种依赖管理工具,基于Groovy语言,面向Java应用为主,它抛弃了基于XML的各种繁琐配置,取而代之的是一种基于Groovy的内部领域特定(DSL)语言。安装Gradle在AndroidStudio系列教程一--下载与安装中新建项目成功后会下载Gradle,貌似这个过程不翻也是可以下载,但是访问......
  • Android Studio系列教程二--基本设置与运行
    上面一篇博客,介绍了Studio的优点与1.0RC的安装与上手体验,没想到google的更新速度这么快,已经出了RC2版本,主要是修复一些bug。那么今天就带大家预览下Stduio的界面与基本功能。项目结构当我们新建一个项目的目录结构默认是这样的可以看到和Eclipse的目录结构有很大区别,Studio一个......
  • 'hello'.split('e')[::-1] # ['llo', 'h']
    'hello'.split('e')[::-1]#['llo','h']lst=[1,2,3]lst.append(4,5)#出错。append只能传入一个值。append()takesexactlyoneargument(2given)a=2;b=3print(eval('a*b'))#6eval是Python的一个内置函数,这个函数的作用是,返......
  • PAT Advanced 1008. Elevator
    PATAdvanced1008.Elevator1.ProblemDescription:Thehighestbuildinginourcityhasonlyoneelevator.Arequestlistismadeupwith\(N\)positivenumbers.Thenumbersdenoteatwhichfloorstheelevatorwillstop,inspecifiedorder.Itcosts6......
  • [Typescript] Testing type
    1.TSD:https://github.com/SamVerschueren/tsdimport{expectType}from'tsd';importconcatfrom'.';expectType<string>(concat('foo','bar'));expectType<string>(concat(1,2)); 2.Vitest:https://vit......
  • Spring
    SpringFramework1.Spring介绍官网:https://spring.ioSpring能做什么:用以开发web、微服务以及分布式系统等,光这三块就已经占了JavaEE开发的九成多。Spring并不是单一的一个技术,而是一个大家族,可以从官网的Projects中查看其包含的所有技术。SpringFramework:Spring框......
  • 常用的Python开发工具比较
    前言​ Python是一种功能强大且易于学习的编程语言,被广泛应用于数据科学、机器学习、Web开发等领域。随着Python在各个领域的应用越来越广泛,越来越多的Python开发工具也涌现出来。但是,对于新手来说,选择一款合适的Python开发工具可能是一件令人困惑的事情。因此,在本文中,我将介绍......
  • gin
    gin框架一、gin入门1.介绍Gin是一个golang的微框架,封装比较优雅,API友好,源码注释比较明确,具有快速灵活,容错方便等特点对于golang而言,web框架的依赖要远比Python,Java之类的要小。自身的net/http足够简单,性能也非常不错借助框架开发,不仅可以省去很多常用的封装带来的时间,也有助......
  • 面向开发者的ChatGPT提示工程-03. 工程迭代
     迭代式提示开发当使用LLM构建应用程序时,我从来没有在第一次尝试中就成功使用最终应用程序中所需的Prompt。但这并不重要,只要您有一个好的迭代过程来不断改进您的Prompt,那么你就能够得到一个适合任务的Prompt。我认为在提示方面,第一次成功的几率可能会高一些,但正如......
  • linux下安装kafka
    目录1.下载安装包2.安装java环境(已安装跳过该步骤)3.安装scala环境(已安装跳过该步骤)4.安装并且启动kafka5.使用连接工具测试kafka是否启动成功1.下载安装包##scala安装包##wget https://downloads.lightbend.com/scala/2.12.11/scala-2.12.11.tgz##kafka安装包(kafka3.0.0已......