searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

将Android项目中so大文件上传到Git的方法

2024-09-02 09:51:08
4
0

前言:

Android在开发播放器项目,使用ijkplayer播放器作为原始工程,涉及到对so大文件的重新编译,其单个文件大小一般都在10M左右,多个编译库'armeabi', 'armeabi-v7a', 'x86', 'x86_64', 'arm64-v8a' 加起来超过30M到50M大小,对这些大文件git跟踪,直接上传到git项目中会报错:the remote end hung up unexpectedly。可采取以下方式来上传、跟踪管理这些大的so到文件。

一、修改git config 上传流大小限制

可找到config文件,路径是:项目 -> .git -> config,在文档最后加上

[http]
postBuffer = 524288000 

 

这种方式最简单直接,对于100M以内的文件有很好的实用效果。

 

二、将超大文件上传到第三方存储,并用链接访问

  1. 使用.gitignore忽略大文件,然后使用第三方工具如git-lfs(Large File Storage)。

  2. 将大文件存储在外部服务器上,并在Git仓库中使用符号链接或文本文件指向它们。

  3. 将大文件分割成小块,使用git add命令分别提交。

下面是使用git-lfs的示例:

首先安装git-lfs

git lfs install

定义要追踪的大文件类型:

git lfs track "*.psd"

这会生成.gitattributes文件,里面包含了对.psd文件的追踪设置。

添加.gitattributes文件到仓库:

git add .gitattributes

然后正常添加和提交你的文件:

git add .
git commit -m "Add large PSD file"

最后,推送改动到远端仓库:

git push

使用外部服务的示例:

将大文件上传到网络上的某个地址,然后在Git仓库中使用符号链接:

ln -s /path/to/your/large/file large_file_symbolic_link
git add large_file_symbolic_link
git commit -m "Add large file as symbolic link"
git push

或者在仓库中添加一个文本文件指向外部链接:

echo "https://example.com/path/to/your/large/file" > large_file_url.txt
git add large_file_url.txt
git commit -m "Add URL to large file"
git push

分割文件的示例:

使用split命令将大文件分割成小块:

split -b 10M large_file.ext small_file_part_

然后对每个生成的小文件进行版本控制:

git add small_file_part_*
git commit -m "Add parts of large file"
git push

这种方式适合超大型文件。

 

总结:

项目中大型文件分100M以内,以及超过100M的大型文件,如果必须使用git进行跟踪,Git对不同大型文件控制有不同的思路,可以使用灵活的方式来对大型文件进行分批次上传、存储和跟踪。

 

 

 

 

0条评论
作者已关闭评论
z****n
3文章数
0粉丝数
z****n
3 文章 | 0 粉丝
z****n
3文章数
0粉丝数
z****n
3 文章 | 0 粉丝
原创

将Android项目中so大文件上传到Git的方法

2024-09-02 09:51:08
4
0

前言:

Android在开发播放器项目,使用ijkplayer播放器作为原始工程,涉及到对so大文件的重新编译,其单个文件大小一般都在10M左右,多个编译库'armeabi', 'armeabi-v7a', 'x86', 'x86_64', 'arm64-v8a' 加起来超过30M到50M大小,对这些大文件git跟踪,直接上传到git项目中会报错:the remote end hung up unexpectedly。可采取以下方式来上传、跟踪管理这些大的so到文件。

一、修改git config 上传流大小限制

可找到config文件,路径是:项目 -> .git -> config,在文档最后加上

[http]
postBuffer = 524288000 

 

这种方式最简单直接,对于100M以内的文件有很好的实用效果。

 

二、将超大文件上传到第三方存储,并用链接访问

  1. 使用.gitignore忽略大文件,然后使用第三方工具如git-lfs(Large File Storage)。

  2. 将大文件存储在外部服务器上,并在Git仓库中使用符号链接或文本文件指向它们。

  3. 将大文件分割成小块,使用git add命令分别提交。

下面是使用git-lfs的示例:

首先安装git-lfs

git lfs install

定义要追踪的大文件类型:

git lfs track "*.psd"

这会生成.gitattributes文件,里面包含了对.psd文件的追踪设置。

添加.gitattributes文件到仓库:

git add .gitattributes

然后正常添加和提交你的文件:

git add .
git commit -m "Add large PSD file"

最后,推送改动到远端仓库:

git push

使用外部服务的示例:

将大文件上传到网络上的某个地址,然后在Git仓库中使用符号链接:

ln -s /path/to/your/large/file large_file_symbolic_link
git add large_file_symbolic_link
git commit -m "Add large file as symbolic link"
git push

或者在仓库中添加一个文本文件指向外部链接:

echo "https://example.com/path/to/your/large/file" > large_file_url.txt
git add large_file_url.txt
git commit -m "Add URL to large file"
git push

分割文件的示例:

使用split命令将大文件分割成小块:

split -b 10M large_file.ext small_file_part_

然后对每个生成的小文件进行版本控制:

git add small_file_part_*
git commit -m "Add parts of large file"
git push

这种方式适合超大型文件。

 

总结:

项目中大型文件分100M以内,以及超过100M的大型文件,如果必须使用git进行跟踪,Git对不同大型文件控制有不同的思路,可以使用灵活的方式来对大型文件进行分批次上传、存储和跟踪。

 

 

 

 

文章来自个人专栏
Android手机
3 文章 | 1 订阅
0条评论
作者已关闭评论
作者已关闭评论
0
0