Android有没有像类似于 IOS 的 cocoapods这样的包管理工具

2024-05-07 23:20

1. Android有没有像类似于 IOS 的 cocoapods这样的包管理工具

每种语言发展到一个阶段,就会出现相应的依赖管理工具, 或者是中央代码仓库。比如

Java: maven,Ivy
Ruby: gems
Python: pip, easy_install
Nodejs: npm
随着iOS开发者的增多,业界也出现了为iOS程序提供依赖管理的工具,这个工具叫:CocoaPods。

CocoaPods简介

CocoaPods是一个负责管理iOS项目中第三方开源代码的工具。CocoaPods项目的源码在Github上管理。该项目开始于2011年8月12日,经过一年多的发展,现在已经超过1000次提交,并且持续保持活跃更新。开发iOS项目不可避免地要使用第三方开源库,CocoaPods的出现使得我们可以节省设置和更新第三方开源库的时间。

拿我之前开发的粉笔网iPhone客户端为例,其使用了14个第三方开源库。在没有使用CocoaPods以前,我需要:

把这些第三方开源库的相关文件复制到项目中,或者设置成git的submodule,然后这些开源库通常需要依赖系统的一些framework,我需要手工地将这些framework一一增加到项目依赖中,比如ASI网络库就需要增加以下framework: CFNetwork, SystemConfiguration, MobileCoreServices, CoreGraphics and zlib。
对于RegexKitLite这个正则表达式库,我还需要设置-licucore的编译参数
手工管理这些依赖包的更新。
这些体力活虽然简单,但毫无技术含量并且浪费时间。在使用CocoaPods之后,我只需要将用到的第三方开源库放到一个名为Podfile的文件中,然后执行pod install。CocoaPods就会自动将这些第三方开源库的源码下载下来,并且为我的工程设置好相应的系统依赖和编译参数。

Android有没有像类似于 IOS 的 cocoapods这样的包管理工具

2. cocopods不指定第三方版本库会怎么样

开发iOS应用难免会经常用到第三方开源类库。公司项目,用到很多第三方的SDK,我为了方便管理,第一次使用CocoaPods。跟着网上安装教程,可我发现CocoaPods安装成功,却到了安装SDK时总是不能成功安装,下面的一些错误是我安装过程中遇到的,及解决方法。
1.Ruby环境搭建

苹果Mac OS本身自带Ruby,这省了我不少事,不过可以用命令确认是否安装了ruby,打开终端输入ruby -v
更新ruby
在安装CocoaPods时不要直接执行sudo gem install cocoapods 命令,因为cocoapods.org被墙了。我们可以使用淘宝的Ruby镜像来访问CocoaPods,安装CocoaPods的过程如下:
$ sudo gem sources --remove 
//等有反应之后再敲入一下命令

$ sudo gem sources -a 

$ sudo gem install cocoapods

gem sources -l(用来检查使用替换镜像位置成功)

2、下载安装CocoaPods
在终端输入:$ sudo gem install cocoapods
发现报错

ERROR:While executing gem ... (Errno::EPERM)

Operation not permitted - /usr/bin/pod

额,好像我的CocoaPods是最新版本了1.0版本
用命令$ sudo gem
install -n /usr/local/bin cocoapods 成功解决掉上面问题,安装成功

3、使用CocoaPods

cd+项目总目录

ls 查看项目目录

终端上输入 :pod init 创建 Podfile文件,在项目中会生成,文件格式自动生成,不要随意改变

终端上输入: open -e podfile 打开文件

终端上输入: vim Podfile 进入,输入i,进入编辑模式

按Esc,并输入“:”号进入vim命令模式,然后冒号后面输入wq保存并退出

然后终端cd到项目总目录,输入pod

install,等待几分钟,然后安装成功

注意:
第一次安装使用CocoaPods会出现一些问题
如执行命令 pod setup 或输入pod install 报错

原因是由于安装Xcode导致路径变了
解决方法:执行命令

$ sudo xcode-select -switch /Applications/Xcode.app

再执行pod install --verbose --no-repo-update(安装依赖关系(快速安装(有依赖关系))

如:

出现Setting up CocoaPods master repo,半天没有任何反应。原因无他,因为那堵墙阻挡了cocoapods.org。。。

gitcafe和oschina都是国内的服务器,可以用它们CocoaPods索引库的镜像:

$ pod repo remove master

$ pod repo add master 

$ pod repo update

如果想用oschina的镜像也可以把第二条命令 换成即可
第二条命令执行的时候会比较耗时,这个时候要去把整个specs仓库clone一下,下载到
~/.cocoapods里;
cd 到该目录里,用du -sh *命令来查看文件大小,每隔一会看看,最终大小是190多M。

文/lee祖祖(简书作者)
原文链接:
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。
最新文章
热门文章
推荐阅读