因为抄袭的人太多了,所以在这里正式声明三个平台的我本人的账号:
文章列表:
- 1.从零开始仿写一个抖音App——开始
- 2.从零开始仿写一个抖音App——基本架构图与MVPs
- 3.从零开始仿写一个抖音App——Apt代码生成技术、gradle插件开发与protocol协议
- 4.从零开始仿写一个抖音App——日志和埋点以及后端初步架构
- 5.从零开始仿写一个抖音App——app架构更新与网络层定制
有人说我标题党,也怪我开始决定写的时候没有注意标题,也没想到会有这么多阅读量,的确会生出一些是非出来。那么从现在开始标题改为 从零开始仿写一个抖音App 系列。希望技术讨论能够多一点,没看文章就喷的人能够少一点。我会坚持写下去,好好提升自己的能力。
- 1.关掉 instant run
- 2.使用插件有两个步骤:
- 1.在根目录的 build.gradle 文件里面引入插件的代码库。这里可以先注释掉,等本地 maven库建好之后再引用。如图1
- 2.在需要使用插件的 module 中引入插件。现在可以先注释掉app module 插件中的引用,等待插件上传成功的之后再引用。如图2
- 3.可能会有人奇怪了,我运行了项目之后报错了啊!说是找不到这个插件。这里我们应该了解一下关于 Maven 的一些知识。
- 1.Maven 是一种构建源代码的工具,他会将某些源代码以某种格式(Project Object Model)进行打包,这样我们就能很方便的引用某个别人开源的代码库了。
- 2.gradle 中能够使用 Maven 包,使用的方法就是大家在 dependencies 块里面的引用方式。
- 3.在图1中我们可以看见 repositories 块里面写着好几行代码,每一行都表示一个 Maven 库。有 google 的、有 jcenter 的、最后一个是我本地的 Maven 库。当我们引用一个包的时候,gradle 就会去这些库里面找相应的 Maven 包然后下载下来供项目使用。
- 4.怎么新建一个本地 Maven 库呢?很简单:
- 1.将本地某个空目录路径设置为仓库根目录,比如我在 mac 下的库根目录就如图1所示。
- 2.比如我们的项目需要将 generate-code/invoker 这个 module 上传到本地库中,那么就在该 module 中新建一个 gradle.properties 文件,如图3,这样在本 module 的 gradle 脚本中就能读取里面的配置
- 3.注意 gradle.properties 以及 build.gradle 文件里面引用的路径需要是你自己设置的本地路径。
- 4.我们需要再在 module 的 gradle 文件里面添加一个 maven 插件,然后写一个上传方法 uploadArchives。如图4.
- 5.在Gradle project窗口运行 uploadArchives任务,这样就上传了 invoker 插件,如图6。
- 5.最后将第二步中说到的插件的引用和代码库的引用的注释去掉,重新 clean build 一下就可以在app module 里面使用插件了。