当前位置: 首页 > news >正文

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账号和密码即可

http://www.lryc.cn/news/27977.html

相关文章:

  • MySQL索引事务
  • ISO27001信息安全管理体系认证
  • Linux应用GUI开发C++ 之gtkmm4(1)
  • 选课系统的设计与实现
  • 关于安卓的一些残缺笔记
  • MySQL 中的锁有哪些类型,MySQL 中加锁的原则
  • Winform中操作Sqlite数据增删改查、程序启动时执行创建表初始化操作
  • 2023最新版本RabbitMQ下载安装教程
  • 如何使用码匠连接 Elasticsearch
  • jmeter学习笔记二(jmeter函数与后置处理器)
  • 【独家】华为OD机试提供C语言题解 - 子序列长度
  • Java之注解
  • 【C++】string
  • JVM详解——执行引擎
  • python学习——【第二弹】
  • 242. 有效的字母异位词 349. 两个数组的交集
  • web网页设计——JavaScript一些语法
  • php宝塔搭建部署实战CSM会议室预约系统源码
  • 嵌入式知识点-SPI通讯
  • C#教程--01 简介
  • 【java基础】一篇文章彻底搞懂lambda表达式
  • 通用SQL查询分析器
  • 机器学习100天(三十八):038 朴素贝斯-处理离散数据
  • 【3.3】指针、二分、SSM项目
  • buu [INSHack2017]rsa16m 1
  • 【数据结构起航】:衡量算法的好坏--时间空间复杂度
  • 动手学深度学习【1】——线性回归
  • Html 相关知识
  • 【冲刺蓝桥杯的最后30天】day1
  • c++泛型编程与模板-01函数模板