当前位置:首页 » 编程软件 » git源码编译

git源码编译

发布时间: 2022-05-30 17:21:33

① githun的源码怎样快速编译

make -j <处理器核数的二倍>

② 我在github下载的源码,使用make编译出现错误

clone项目时因为网络原因没有下载完整

③ 自己可以编译安卓源码吗

用最新的Ubuntu 16.04,请首先确保自己已经安装了Git.没安装的同学可以通过以下命令进行安装:

sudo apt-get install git git config –global user.email “[email protected]” git config –global user.name “test”

其中[email protected]为你自己的邮箱.

简要说明

android源码编译的四个流程:1.源码下载;2.构建编译环境;3.编译源码;4运行.下文也将按照该流程讲述.

源码下载

由于某墙的原因,这里我们采用国内的镜像源进行下载.
目前,可用的镜像源一般是科大和清华的,具体使用差不多,这里我选择清华大学镜像进行说明.(参考:科大源,清华源)

repo工具下载及安装

通过执行以下命令实现repo工具的下载和安装

mkdir ~/binPATH=~/bin:$PATHcurl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repochmod a+x ~/bin/repo

补充说明
这里,我来简单的介绍下repo工具,我们知道AOSP项目由不同的子项目组成,为了方便进行管理,Google采用Git对AOSP项目进行多仓库管理.在聊repo工具之前,我先带你来聊聊多仓库项目:

我们有个非常庞大的项目Pre,该项目由很多个子项目R1,R2,...Rn等组成,为了方便管理和协同开发,我们为每个子项目创立自己的仓库,整个项目的结构如下:


这里写图片描述

执行完该命令后,再使用make命令继续编译.某些情况下,当你执行jack-admin kill-server时可能提示你命令不存在,此时去你去out/host/linux-x86/bin/目录下会发现不存在jack-admin文件.如果我是你,我就会重新repo sync下,然后从头来过.

错误三:使用emulator时,虚拟机停在黑屏界面,点击无任何响应.此时,可能是kerner内核问题,解决方法如下:
执行如下命令:

  • ./out/host/linux-x86/bin/emulator -partition-size 1024 -kernel ./prebuilts/qemu-kernel/arm/kernel-qemu-armv7

  • 通过使用kernel-qemu-armv7内核 解决模拟器等待黑屏问题.而-partition-size 1024 则是解决警告: system partion siez adjusted to match image file (163 MB >66 MB)

    如果你一开始编译的版本是aosp_arm-eng,使用上述命令仍然不能解决等待黑屏问题时,不妨编译aosp_arm64-eng试试.

    结束吧

    到现在为止,你已经了解了整个android编译的流程.除此之外,我也简单的说明android源码的多仓库管理机制.下面,不妨自己动手尝试一下.

    ④ mac os x git问题

    mac osx下安张git是一件很简单的事,我们可以下载一个安装包直接以图形界面方式安装,也可以下载源代码到本地后再编译安张
    1、图形安装。我们可以从http://code.google.com/p/git-osx-installer/下载最新的安装包后,双击弹出一个文件浏览窗口,然后双击窗口里带pkg后缀的文件就可以安装了。
    2、编译安装。在安装前,应该确保系统中已经安装了Xcode,Xcode可以从 Mac OS X的系统安装盘里找到,如果没有系统盘,可以http://developer.apple.com下载。Git源码可以从http://kernel.org/pub/software/scm/git/获得。下面是编译安装的过程:

    #设置环境变量 mate ~/.profile export PATH="/usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin:$PATH" source ~/.profile
    #看看设置后的PATH echo $PATH
    #创建一个临时目录来存放git源码 mkdir ~/src cd ~/src
    #下载git源码,我下载的版本是1.7.2 curl -O http://kernel.org/pub/software/scm/git/git-1.7.2.tar.bz2
    #下载完后,解压、编译、安装 tar xzvf git-1.7.2.tar.bz2 cd git-1.7.2
    ./configure --prefix=/usr/local make sudo make install
    等安装完成后,可以使用which git 和git --version命令检查安装是否成功,如果看到如下图的输出,安装就成功了

    Git图形化客户端
    Git的操作都可以在终端上使用命令来完成,但也不是所有人都喜欢打命令。http://code.google.com/p/git-osx-installer上也提供了一个Git的图形化客户端:OpenInGitGui,可以从这里获得,OpenInGitGui十分小巧,下载解压后也只有16K,OpenInGitGui不用安装,双击即可使用

    ⑤ linux系统git 怎么安装

    方法/步骤
    1
    用git --version命令检查是否已经安装

    2
    在CentOS5的版本,由于yum源中没有git,所以需要预先安装一系列的依赖包。在CentOS6的yum源中已经有git的版本了,可以直接使用yum源进行安装。

    3
    yum -y install git
    但是yum源中安装的git版本是1.7.1,Github等需要的Git版本最低都不能低于1.7.2 。所以我们一般不用上面的方法,而是下载git源码编译安装。

    END
    编译安装git
    1
    首先更新系统
    yum -y update
    更新完成之后有6.5变成6.7了

    2
    安装依赖的包
    yum -y install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker
    3
    下载git源码并解压
    $ wget https://github.com/git/git/archive/v2.3.0.zip
    $ unzip v2.3.0.zip
    $ cd git-2.3.0

    4
    编译安装:
    将其安装在“/usr/local/git”目录下。
    make prefix=/usr/local/git all
    make prefix=/usr/local/git install
    因为服务器时间不对编译的过程中报错如下图,使用ntpdate自动校正系统时间。报错“Writing perl.mak for Git make[2]: *** [perl.mak] Error 1”,请重启apache服务,service httpd restart。

    5
    编译完成之后使用git --version 查看git版本,居然还是1.7.1,这是因为它默认使用了"/usr/bin"下的git。
    你可以用下面的命令查看git所在的路径:
    $ whereis git
    git: /usr/bin/git /usr/local/git /usr/share/man/man1/git.1.gz

    6
    我们要把编译安装的git路径放到环境变量里,让它替换"/usr/bin"下的git。为此我们可以修改“/etc/profile”文件(或者/etc/bashrc文件)。
    vim /etc/profile
    然后在文件的最后一行,添加下面的内容,然后保存退出。
    export PATH=/usr/local/git/bin:$PATH

    7
    不想重启系统,使用source命令立即生效
    source /etc/profile
    8
    然后再次使用git --version 查看git版本,发现输出2.3.0,表明安装成功。

    ⑥ 如何在 Linux 上安装 git 服务

    1、yum方式安装
    # yum -y install git
    如果提示系统提示没有找到git包,可以采用下面的方式

    2、下载Git源码包
    官网:http://git-scm.com/
    $ tar -xjvf git-1.7.4.1.tar.bz2
    $ cd git-1.7.4.1/
    $ make prefix=/usr/local all
    $ make prefix=/usr/local install

    ⑦ 如何在Ubuntu 16.04安装的Git

    最简单的方法git安装,并准备使用是使用Ubuntu的默认存储库。 这是最快的方法,但版本可能比最新版本旧。 如果你需要最新版本,请考虑以下的步骤来编译git从源代码。
    您可以使用apt软件包管理工具来更新你的本地包索引。 之后,您可以下载并安装程序:
    sudo apt-get update
    sudo apt-get install git

    这将下载并安装git为您的系统。

    ⑧ jenkins 构建git 项目,源码管理部分成功了,f可以正常下载代码,但是构

    当时也是花费了不少时间来配置Jenkins自动打包的问题,觉得还是需要记录一下。
    1.安装Jenkins,这个很简单,不需要多说。
    2.下载Git Plugin,Gradle Plugin,Android Emulator Plugin(这个可以配置SDK路径,觉得这个插件挺好),
    Email Extension Plugin 邮件提醒插件,自带的邮件提醒插件确实太弱。
    3.配置,SDK路径,JDK路径,Git路径,Gradle路径。
    配置git:
    git config –global user.name “name”
    git config –global user.email email
    查看:
    cat /root/.gitconfig
    root是指当前的用户
    生成公钥和私钥:
    ssh-keygen -t rsa -C “email”

    ⑨ jenkins git+maven 编译怎么知道编译成功

    1.通过Jenkins web页面添加Git plugin

    Manage Jenkins->Manage Plugins->Available中选择Git Plugin安装,

    注意要填写user name和 email地址,否则日后会碰到git tag的错误

    2.在Jenkins使用的机器上创建Git用户所需要的公钥

    具体步骤参考前面Git server文章

    但是注意,要将最后生成的.ssh目录下的公钥和私钥文件复制到/var/lib/jenkins/.ssh目录下,否则git clone命令会报错

    3.修改jenkins目录权限

    chmod -R 777 /var/lib/jenkins

    4.现在可以通过web页面创建一个项目Test,然后设置该项目使用Git作为版本管理。

    并且设置repository路径,比如我的:git@S1:cml.git

    5.在build选项的pom文件指定你需要执行的pom.xml路径

    比如我的一个测试工程名叫client,是个maven工程,我设置为client/pom.xml

    6.现在可以点击左侧的Build now进行测试

    一切OK,则没有错误日志。在Build History中可以看到测试结果,有没有错误。

    7.Email发送设置

    在Manage Jenkins->Configure System->Email Notification中,设置SMTP发送的基本信息,点击Advanced,可以填写用户名和密码。还有一个测试按钮可以用来发送测试设置是否正确。

    同时在Test项目中的Building Settings打勾选中E-mail
    Notification,点击右边的问号,会出现帮助文档,说明在四种情况下会发送email,填写接受email的地址,然后故意将client代码
    修改到不能编译通过。然后点击Build now按钮测试一下。果然收到email.

    8.检查代码更新并编译

    可以通过Poll SCM来设置定时检查编译功能

    比如*/5 * * * * 就是每隔5分钟检查一次,如果git仓库中有更新,则执行build操作。

    9.使用Maven加快下载速度

    如我这篇文章所述,用可以避免下载过慢问题,也可以绕过公司内部外网限制问题。

    Jenkins的.m2目录路径在:/var/lib/jenkins/.m2/

    首先清空里面所有的jar包,然后创建settings.xml文件,并编辑内容如下:

    源码打印?
    <settings>
    <mirrors>
    <mirror>
    <!--This sends everything else to /public -->
    <id>nexus</id>
    <mirrorOf>*</mirrorOf>
    <url></url>
    </mirror>
    </mirrors>
    <profiles>
    <profile>
    <id>nexus</id>
    <!--Enable snapshots for the built in central repo to direct -->
    <!--all requests to nexus via the mirror -->
    <repositories>
    <repository>
    <id>central</id>
    <url></url>
    <releases><enabled>true</enabled></releases>
    <snapshots><enabled>true</enabled></snapshots>
    </repository>
    </repositories>
    <pluginRepositories>
    <pluginRepository>
    <id>central</id>
    <url></url>
    <releases><enabled>true</enabled></releases>
    <snapshots><enabled>true</enabled></snapshots>
    </pluginRepository>
    </pluginRepositories>
    </profile>
    </profiles>
    <activeProfiles>
    <!--make the profile active all the time -->
    <activeProfile>nexus</activeProfile>
    </activeProfiles>
    </settings>

    现在点击build now测试一下,打开console output,看看命令行输出结果,如果发现从S1下载jar包,就正确。和不用的比较了一下,节省了1分多钟.

    ⑩ 用git 下载的源代码(我看里面不是.java文件),怎么才能部署到 myeclipse运行呢 答对加分 !

    不是.java文件是什么文件?.class的吗?
    如果不是.java的想直接部署到myeclipse不太可能。
    如果是.jar或者.class文件你可以通过一些工具(我用的是jd-gui.exe,这个工具可以直接双击.class或者jar文件看里面代码)把这些编译过的java文件再反编译回来

    热点内容
    java返回this 发布:2025-10-20 08:28:16 浏览:645
    制作脚本网站 发布:2025-10-20 08:17:34 浏览:936
    python中的init方法 发布:2025-10-20 08:17:33 浏览:632
    图案密码什么意思 发布:2025-10-20 08:16:56 浏览:821
    怎么清理微信视频缓存 发布:2025-10-20 08:12:37 浏览:731
    c语言编译器怎么看执行过程 发布:2025-10-20 08:00:32 浏览:1066
    邮箱如何填写发信服务器 发布:2025-10-20 07:45:27 浏览:299
    shell脚本入门案例 发布:2025-10-20 07:44:45 浏览:160
    怎么上传照片浏览上传 发布:2025-10-20 07:44:03 浏览:852
    python股票数据获取 发布:2025-10-20 07:39:44 浏览:763