#author("2021-07-27T13:36:07+08:00","default:Admin","Admin")
#author("2024-07-29T12:47:03+08:00","default:Admin","Admin")
[[Android]]

&color(red){※前提条件:本情報はAndroid Studio 4.2.2を基づいて説明してる};

#contents

* Gradle [#gd047e25]

** Gradle的功能描述: [#jdb69839]

- Gradle是一种构建工具,它可以帮你管理项目中的差异,依赖,编译,打包,部署......,你可以定义满足自己需要的构建逻辑,写入到build.gradle中供日后复用.
- Gradle也是一个开发框架,基于Groovy语言。 我们可以通过Groovy语言去写自己的Gradle插件,也可以去编写指定的脚本去改变构建规则。但它不能帮你实现软件中的任何实际功能
- android studio中gradle之所以能够构建android工程,是因为有基于android的gradle插件。
** 发展的由来 [#rc7295fa]

*** 为什么需要打包 [#xb7391e9]
最初写完了,直接右键run就可以了。但是程序写完了毕竟是要发布到服务器上或者给别人用的,你第一不可能让所有要运行的人都装个eclipse,第二不可能把源代码公布给所有人。所以你需要把你的代码发布成二进制形式,让其它环境方便运行,这就是打包。

*** 为什么用ant [#of8f6f85]
打包的时候要做很多事,比如说配置文件中的用户名和密码,你本地开发和程序实际运行时的内容肯定不一致,所以需要有两个文件,开发的时候用一个,实际运行的时候用一个。这样每次打包的时候都要重复的做这些事,ant可以让你用xml的形式把这些事情写成脚本,然后自动运行。

*** 为什么用maven [#y2a7725c]

你的项目要用很多jar包,比如你写日志要用个log4j吧,连数据库要用个connector吧。

Spring下载下来的spring包打开一看,密密麻麻的好几十个jar,不知道用哪个不用哪个。而且,即便是你一狠心把这些jar包都放进来,很大可能性还是不能运行,因为还要依赖其它的jar包。哪天想升级个spring小版本,所有jar包都要重来一遍,你也不记得哪些是由于spring引进来的jar包了。所以有了maven。

你只要配置一下说我要用spring 3,所有jar包都给你下载好了,你直接运行就行了。赶明儿想升级版本,直接把3改成4,新的jar包也给你下载好了。用了maven,jar包是方便了,但我打包的时候还是有好多事要做啊,然后你会发现maven实在是不知道怎么做这些事,于是开始怀念ant。

*** 为什么用gradle [#n36d5bae]

Gradle就是又能干maven的活,又能干ant的活,用groove语言写脚本,表达能力还更强。

* BuildConfig 类 [#tfb83fc2]

这是一个配置文件,类似R.class文件,这个类是根据build.gradle配置文件自动生成的。生成后不能修改,只能修改配置文件。

具体来说,就是在app的build.gradle中配置,会在BuildConfig这个类中生成对应的信息,便于我们使用。

* Gradle的设置 [#z7a0409e]


在用到第三方控件的时候,经常会看到类似下面的配置要求

#codeprettify{{
 XXX
// Add it in your root build.gradle at the end of repositories:

allprojects {
	repositories {
		...
		maven { url 'https://jitpack.io' }
	}
}
}}

可以在 build.gradle 文件里面又找不定义的地方,硬加进去还会报错,其实应该加在 setting.gradle 文件
#codeprettify{{
dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        google()
        mavenCentral()
        maven { url 'https://jitpack.io' } //上面的那一行
    }
}
}}

#hr();
コメント:
#comment_kcaptcha

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS