Submodule命令:android如何将自己项目中的某个Module作为gitlab中第三方公共库

一、创建远程公共库

1、Android Studio创建本地仓库

在这里插入图片描述

创建一个新的module

在这里插入图片描述

在新建module中添加代码(此处示例代码)

在这里插入图片描述

右击新建的module,打开新建module的命令行界面,
因为我们只上传这个module的代码,而不是整个项目的代码

在这里插入图片描述

命令行中输入以下命令,将新建module初始化为一个git本地仓库

git init
git add .
git commit -m "sdk本地代码提交"
git branch dev_sdk
git checkout dev_sdk
2、Gitlab中创建新的 Project

在这里插入图片描述

复制项目地址

git@gitlab.com:CodeMonkeyLeon/leonremotesdk.git

在这里插入图片描述

3、上传本地代码到Gitlab仓库

在新建module的命令行页面(右击新建module打开的命令行)输入以下命令

//关联远程仓库
git remote add origin git@gitlab.com:CodeMonkeyLeon/leonremotesdk.git
//上传代码
git push -f -u origin dev_sdk

上传成功后就可以在Gitlab中看到我们的代码,
只有新建module的代码,而不是整个项目的代码
该module可以被其他项目引用

在这里插入图片描述

二、使用公共库代码

1、新建项目

在这里插入图片描述
在这里插入图片描述

初始化为git仓库

git init
git add .
git commit -m "新建项目"
git branch dev
git checkout dev
2、引入公共库代码

仓库地址 https://gitlab.com/CodeMonkeyLeon/leonremotesdk.git

在这里插入图片描述

使用submodule命令引入公共库

git submodule add https://gitlab.com/CodeMonkeyLeon/leonremotesdk.git

代码同步结束后,就可以看到项目文件夹里多了两个文件
在这里插入图片描述

在这里插入图片描述

但这个module是个假module,因为看不到他的gradle配置文件,只有app的gradle文件

需要进行以下配置,这个引用的模块才可以作为真正的module使用

在setting.gradle中添加以下代码

include ':leonremotesdk'
project(':leonremotesdk').projectDir = new File("leonremotesdk")

在这里插入图片描述

在build.gradle(:app)中添加以下代码

implementation project(':leonremotesdk')

在这里插入图片描述

然后同步代码,引入的远程mudule就可以作为真正的module使用了。

在这里插入图片描述

3、使用公共库代码

在app模块中调用公共库代码

在这里插入图片描述

三、公共库代码更新

在这里插入图片描述

1、本地Sdk模块代码更新上传

本地SDK仓库的leonSdl模块代码更新后,要在leonSdk模块的目录下进行git操作。
在这里插入图片描述

git add .
git commit -m "sdk代码更新"
git push origin dev_sdk
2、工程项目更新sdk代码

MyProject也要在leonremotesdk模块目录下进行git操作
在这里插入图片描述

git push origin dev_sdk

四、报错“Failed to connect to github.com port 443 : Timed out”

若上传本地代码或下拉仓库代码时,命令行报错“Failed to connect to github.com port 443 : Timed out”,则需更改地址和端口配置

可以将仓库地址改为https的地址,然后查找本地地址和端口

在这里插入图片描述

然后在命令行中输入以下命令即可

git config --global http.proxy http://127.0.0.1:7890 
git config --global https.proxy http://127.0.0.1:7890

然后重新上传或下拉,
若此时弹框需要输入账号密码,
则输入自己的gitlab账号和密码即可

注意========================================

若后面其他项目拉取代码时报错:

fatal: unable to access 'http:###': Failed to connectto 127.0.0.1 port 7890: Connection refused

原因就是上面设置了代理

首先,查一下代理:

git config --global http.proxy

有没有呢,有就取消

git config --global --unset http.proxy

然后重新拉代码就好

参考文章

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

KillerNoBlood

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值