當前位置:首頁 » 編程軟體 » 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 瀏覽:647
    製作腳本網站 發布:2025-10-20 08:17:34 瀏覽:939
    python中的init方法 發布:2025-10-20 08:17:33 瀏覽:634
    圖案密碼什麼意思 發布:2025-10-20 08:16:56 瀏覽:823
    怎麼清理微信視頻緩存 發布:2025-10-20 08:12:37 瀏覽:734
    c語言編譯器怎麼看執行過程 發布:2025-10-20 08:00:32 瀏覽:1069
    郵箱如何填寫發信伺服器 發布:2025-10-20 07:45:27 瀏覽:302
    shell腳本入門案例 發布:2025-10-20 07:44:45 瀏覽:163
    怎麼上傳照片瀏覽上傳 發布:2025-10-20 07:44:03 瀏覽:855
    python股票數據獲取 發布:2025-10-20 07:39:44 瀏覽:765