一.Android创建自己的Gradle依赖:
经常引用第三方库,比如
本文将记述如何像这样引入自己写的dependency给别人使用。
步骤:
1.github上创建新项目,然后通过git bash拉取到本地路径。该目录将作为等会as的工程目录。(此处不演示,不会的,传送门)
2.打开as,新建as项目-》,注意此处的工作位置,选择第1步保存的位置:
新建module:
编写测试类,
重点来了,上传到github上,同理git bash 的git add 和git commit操作。
注意:commit的时候不要提交app默认的这个module,否则当我们引入新的module依赖时,新建项目会和这里的app冲突。
打开git bash,然后输入:git push -u origin master
因为我们在as中已经add 和commit 了,所以这里直接push.
然后我们就可在github上查看我们推送到的module了。
然后提交。这样我们的工作快接近尾声了。
3.打开jcenter网站:jitpack
4.新建项目,引用dependencies:
然后gradle在线拉取sync一下,再用它:
5.展示结果:
二.Android的依赖引入方式:
1.引入方式一:
切换Project视图->新建libs目录(as中不需要新建)->拷贝jar包->add as library.
对于导入成功没有,可以写简单的代码检验或者去build.gradle(app)模块下去查看是否有依赖引入。
弊端:升级只能删除lib下的jar包再拷贝升级后的jar包进去。
解决方法:利用gradle配置文件处理依赖。
2.引入方式二:
import module->Project Structure->选中相应的Module->Module dependency.
注:android项目会有一些resource文件、layout、图片、颜色、测量、字符串间的引用等这类文件是没有办法打包成阿里巴巴fastjson的jar包这样的形势的。这时候就需要以aar(即以Module间的引入方式去引用它)。
具体步骤:New Module->Android Library->填写你的module名字->ok.
注:在as中,是以Module为单位,本质上,各Module之间是没有任何关联的。而我们的目的就是要让他们产生关联。其中默认的app就是一个Module,只是名字为app而已。
这时候的module还和app没关系,我们在新建的Module下新建一个测试类,比如我这里,
然后在上面的app的module下,as告诉我们他们没联系,找不到。这时候建立关联就进行如下步骤:
选择我们刚刚新建的module,比如我这里Module:mytoast。然后就可以在app里面使用module里面的方法啦,此时还可以引用module里面的res资源文件。
3.引入方式三:引入aar文件
还是新建module,然后新建完成后,在建立module的一些方法,同上方式2。然后此时不做project structure的引入方式,而是通过aar的方式。
然后as会帮我们生成默认的aar文件,打开项目目录,进入module的build->outputs->aar查看
或者是as中查看:
如果构建项目以release方式,还会生成reslease的aar。
然后我们接下来要做的就是把生成的aar文件拷贝到app下的lib包***意:拷贝后还是不能用,project structure也没有相关方式引用它,那怎么做呢?
gradle配置文件中手动写。(不用背,复制粘贴即可)
切换到android视图,然后,按图中修改:
name为你拷贝到app下的lib包下的aar的名字,ext为lib下文件的扩展名。,然后Sync同步一下,然后我们就可以在app下的mainActivity下使用它了,如下图所示:
3.引入方式3:(私服搭建,自己百度)
相应的build.gradle->compile(jcenter、mavencenter、mavenloacl)->通过Nexus搭建私服。
4.引入方式4:通过as的project structure更方便、省时、高效:
通过关键字搜索,更加高效,注意区分版本号!