Android创建自己的库,几个项目共享同一个自己的库,在库中调库的暴力实现

1.Android创建自己的库

新学者创建自己的库,然后调用自己的库,以及发行自己的库在Github上, 上传到 JitPack 是自己的库成为第三方依赖库

Android Studio中添加和移除库 Module

库里:
可以定义一个抽象类并继承 AppCompatActivity
并在项目中可以 让 Activity 继承 库中的那个抽象类

2.在库中调库,

有时候我们需要在自己的库中使用他人已经写好的现成的库.

解决办法:

新建库Moldule 或者 导入库Module 后
Android创建自己的库,几个项目共享同一个自己的库,在库中调库的暴力实现
会出现以下三个 build.gradle 文件

build.gradle ( Project : project-name ) 指定一些照顾整个项目的 dependence
build.gradle ( Moudle : app ) 每一个新建的项目都会有这个Module , 指定的 dependence 只照顾>appModule里面的内容, 不照顾隔壁 Module
build.gradle ( Moudle : module-name ) 导入的或者新建的Module , 指定的 dependence 之照顾库本>体内的内容, 不照顾隔壁 Module

所以 , 当开发 多个app 同一个库 这种开发模式时 , 把库里用到的第三方库 在 该库所对应的 build.gradle里面指定
把具体某个app用到的第三方库 dependence 在 build.gradle( Module:app ) 里面指定
一般 不会用到 build.gradle ( Project : project-name )

下面是不实用的方法,不可采取。

放在这里是因为 提醒自己不要再犯这种错误。但也算是找到真确方法之前的挣扎尝试。

想法一:自己重新从头到尾模仿写一遍他人的一个库,可以实现,但是像LitePal这样的库实在强大有庞大。所以这个方法不太现实。
想法二:还是想法一的思路,但不是仿照,而是直接把库文件copy过来

比如我们像下面这样,为了调用DataSupport我像把LitePal的整个库给copy过来,我们就按住 cntrl 把鼠标 移到 org 或者 litepal 上 点击就 ok。
Android创建自己的库,几个项目共享同一个自己的库,在库中调库的暴力实现
Android studio 会自动的帮你跳转到这个库的报文件处,接下来把 整个LitePal 包copy下来就OK。
paste 到你自己的库里的Java目录里就ok。

Note:当你这样整体复制的时候总有一些类文件是没有复制下来的,所以复制完之后build all project 一次 你会发现有哪些是没有移植成功的,这时你得手动地复制下每一个文件就ok的

Note:这种方式不太推荐把自己定义的库上传到GitHub或者JitPack上

Android创建自己的库,几个项目共享同一个自己的库,在库中调库的暴力实现

Note: 其实 LitePal是个第三方库,就是你在Gradle指定dependence之后,第一次Sys 时 Android Studio 就帮你下好了这个库。所有这种方式引用的库的库文件都保存在External Libraries 里面。
Android创建自己的库,几个项目共享同一个自己的库,在库中调库的暴力实现