Gitolite + repo 搭建安卓源码开发环境

转载请注明出处:http://blog.csdn.net/u011479494/article/details/50629669

相比gitosis,gitolite的功能更为强大,支持对权限的细分控制,下面在最新版 的ubuntu 14.04 LTS中搭建gitolite服务器。

一、安装准备
1.服务器安装openssh

sudo apt-get -y install openssh-server openssh-client
  • 1

2.在一台管理客户机上生成ssh公钥【客户机执行】

 ssh-keygen -t rsa
  • 1

生成的公钥在/home/xia/.ssh/里面,默认名字是id_rsa.pub。

3.安装git,在这个核心软件,不可或缺。

sudo apt-get -y install git
  • 1

二、安装gitolite
在ubuntu中已经集成了,不用自己去下载。

sudo apt-get -y install gitolite
  • 1

三、配置gitolite
1.创建用户gitolite【服务器执行】
添加gitolite用户和同名用户组,加上–system参数,用户就不会在登陆界面显示。

sudo adduser --system --shell /bin/sh --group --disabled-password --home /home/gitolite gitolite
  • 1

2.把管理客户机生成的公钥上传到服务器上【客户机执行】

scp ~/.ssh/id_rsa.pub berry@192.168.100.249:/tmp
  • 1

3.初始化配置【服务器执行】
切换到gitolite用户环境中,因为我要以gitolite用户身份去初始化安装。

sudo chmod 777 /tmp/id_rsa.pub
mv /tmp/id_rsa.pub /tmp/xia.pub
sudo su - gitolite
gl-setup /tmp/xia.pub
  • 1
  • 2
  • 3
  • 4

以上命令有两个个作用:
a)建立一个目录“~/repositories”,用来存储所有git仓库;
b)把公钥文件id_rsa.pub添加到 ~/.ssh/authorized_keys。

4.修改配置文件
gitolite的配置文件本身就是一个git仓库,gitolite的配置修改就是通过git实现的,先clone下来修改,再push上去。只要push上去,gitolite会立刻监视到配置文件的修改并应用。
在管理客户端clone管理库到本地:git clone gitolite@192.168.100.249:gitolite-admin.git
或者git clone ssh://gitolite@192.168.100.249/gitolite-admin.git
clone下来以后,库里有一个文件夹conf,里面存储的是gitolite.conf(配置文件);还有一个文件夹keydir,里面存储的是用户的公钥文件,当前里面就有在管理客户端上生成的私钥(格式是”用户名.pub”,例如“xia.pub”)。

四、添加用户和仓库
添加新仓库也非常简单,假设你要添加一个叫lv@example.com的用户,再创建一个仓库叫testing,并赋给lv修改权限。
【在lv私钥计算机上操作】
1.首先ssh-keygen生成lv的公钥和私钥;
【在xia私钥计算机上操作】
2.把lv公钥(lv.pub)拷贝到本地gitolite-admin库的keydir里面;
3.编辑本地gitolite-admin库里的conf下的gitolite.conf,添加:

repo    gitolite-adminRW+     =   xiarepo    testingRW+     =   @all
+
+repo    test
+        RW+     =   lv
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

4.commit修改,push到服务器生效。服务端自动创建空的test.git工程仓库。

Compressing objects: 100% (3/3), done.
Writing objects: 100% (4/4), 356 bytes | 0 bytes/s, done.
Total 4 (delta 1), reused 0 (delta 0)
remote: creating test...
remote: Initialized empty Git repository in /home/gitolite/repositories/test.git/
To ssh://gitolite@192.168.100.249/gitolite-admin.gitb5e8b3d..be1d3f1  master -> master
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

5.初始化仓库并push到服务器
【在lv私钥计算机上操作】

git clone ssh://gitolite@192.168.100.249/test.git
或者:git clone gitolite@192.168.100.249:test.git
cd test
echo "init commit" > readme.txt
git add .
git commit -m "init commit"
git push origin master
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

6.添加一个存在的Git项目
如果你有一个已经存在的项目,也想将其添加到Gitolite的服务器里。首先你依然需要在gitolite.conf里注册这个项目。然后执行下面的操作:

cd test
git remote rm origin
git remote add origin gitolite@192.168.100.249:test.git
git push origin master
  • 1
  • 2
  • 3
  • 4

如果你有多个branch,那么checkout到那个branch,执行

git push origin <branch-name>
  • 1

五、搭建 Android repo 管理 服务器
1.搭建 git-daemon
(1)安装git-daemon-sysvinit

sudo apt-get install git-daemon-sysvinit
  • 1

(2)配置 /etc/default/git-daemon

sudo vi /etc/default/git-daemon 
  • 1
# Defaults for git-daemon initscript
# sourced by /etc/init.d/git-daemon
# installed at /etc/default/git-daemon by the maintainer scripts#
# This is a POSIX shell fragment
#GIT_DAEMON_ENABLE=true
GIT_DAEMON_USER=gitolite
GIT_DAEMON_BASE_PATH=/home/gitolite/repositories
GIT_DAEMON_DIRECTORY=/home/gitolite/repositories# Additional options that are passed to the Daemon.
GIT_DAEMON_OPTIONS="--export-all --enable=upload-pack --enable=upload-archive --enable=receive-pack --informative-errors"
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

配置分析:
1)GIT_DAEMON_ENABLE=true 很明显得设置成true值了 。
2)GIT_DAEMON_USER=gitolite 表示使用哪个用户运行git-daemon。
注意:设置的这个用户一定得对GIT_DAEMON_BASE_PATH有读,写,执行的所有权限!
3)GIT_DAEMON_BASE_PATH=/home/gitolite/repositories 设置根目录。
比如像我的这个设置,那么你在用git clone gitolite://192.168.100.249/test.git时,git服务器就会查找/home/gitolite/repositories/test.git目录了。
4)GIT_DAEMON_DIRECTORY=/home/gitolite/repositories 这个是设置成目录白名单whitelist。
如果不设置的话用户在git操作时如git clone,git push等等会出现no such directory。而在服务器机器上/var/log/syslog中会看到’/home/gitolite/repositories/xxx.git’: not in whitelist 。
5)GIT_DAEMON_OPTIONS=”–export-all –enable=upload-pack –enable=upload-archive –enable=receive-pack –informative-errors” 设置参数。
如果想上传,且全部导出,就设置–export-all –enable=upload-pack –enable=upload-archive –enable=receive-pack 。
注意:如果出现找不到的话,就在/home/gitolite/repositories目录下面的项目仓库目录下touch git-daemon-export-ok,生成一个这个名字的文件即可。
如果想使用git push功能,那一定要打开–enable=receive-pack 。

以上设置好了只后,,那么每次开机就会自己启动了。
还可以使用sudo service git-daemon start|restart|stop控制。
sudo /etc/init.d/git-daemon start|restart|stop也可以了。

2.添加manifest.git仓库
1)【在xia私钥计算机上操作】
编辑本地gitolite-admin库里的gitolite.conf,添加:

repo    manifestRW+     =   xia
  • 1
  • 2

commit修改,push到服务器生效。
2)下载manifest.git到本地

git clone gitolite@192.168.100.249:manifest.git
  • 1

3)添加dfault.xml
这个文件是跟这个Android 源码 配套的,没有自己可以参考别人的创建一个,
path 表示客户端本地路径,使用 cat default.xml | cut -d ‘”’ -f 2 提取,
name 表示服务端远程路径,使用 cat default.xml | cut -d ‘”’ -f 4 提取。

<?xml version="1.0" encoding="UTF-8"?>
<manifest><remote  name="yazuo"fetch=".."review="ssh" /><default revision="master"remote="yazuo"sync-j="1" /><project path="build" name="yazuo/platform/build"  ><copyfile src="core/root.mk" dest="Makefile" /></project><project path="abi/cpp" name="yazuo/platform/abi/cpp"  /><project path="art" name="yazuo/platform/art" /><project path="bionic" name="yazuo/platform/bionic"  /><project path="bootable/bootloader/lk" name="yazuo/platform/bootable/bootloader/lk" /><project path="bootable/diskinstaller" name="yazuo/platform/bootable/diskinstaller" /><project path="bootable/recovery" name="yazuo/platform/bootable/recovery"  /><project path="cts" name="yazuo/platform/cts"  /><project path="dalvik" name="yazuo/platform/dalvik" /><project path="developers/build" name="yazuo/platform/developers/build" /><project path="developers/samples/android" name="yazuo/platform/developers/samples/android" /><project path="development" name="yazuo/platform/development" /><project path="device/asus/deb" name="yazuo/device/asus/deb"  /><project path="device/asus/flo" name="yazuo/device/asus/flo"  /><project path="device/asus/flo-kernel" name="yazuo/device/asus/flo-kernel"  /><project path="device/asus/grouper" name="yazuo/device/asus/grouper"  /><project path="device/asus/tilapia" name="yazuo/device/asus/tilapia"  /><project path="device/common" name="yazuo/device/common" /><project path="device/generic/armv7-a-neon" name="yazuo/device/generic/armv7-a-neon"  /><project path="device/generic/common" name="yazuo/device/generic/common"  /><project path="device/generic/goldfish" name="yazuo/device/generic/goldfish"  /><project path="device/generic/mips" name="yazuo/device/generic/mips"  /><project path="device/generic/mini-emulator-armv7-a-neon" name="yazuo/device/generic/mini-emulator-armv7-a-neon"  /><project path="device/generic/mini-emulator-mips" name="yazuo/device/generic/mini-emulator-mips"  /><project path="device/generic/mini-emulator-x86" name="yazuo/device/generic/mini-emulator-x86"  /><project path="device/generic/x86" name="yazuo/device/generic/x86"  /><project path="device/google/accessory/arduino" name="yazuo/device/google/accessory/arduino"  /><project path="device/google/accessory/demokit" name="yazuo/device/google/accessory/demokit"  /><project path="device/lge/hammerhead" name="yazuo/device/lge/hammerhead"  /><project path="device/lge/hammerhead-kernel" name="yazuo/device/lge/hammerhead-kernel"  /><project path="device/lge/mako" name="yazuo/device/lge/mako"  /><project path="device/lge/mako-kernel" name="yazuo/device/lge/mako-kernel"  /><project path="device/sample" name="yazuo/device/sample"  /><project path="device/samsung/manta" name="yazuo/device/samsung/manta"  /><project path="docs/source.android.com" name="yazuo/platform/docs/source.android.com" /><project path="external/aac" name="yazuo/platform/external/aac"  /><project path="external/android-clat" name="yazuo/platform/external/android-clat" /><project path="external/android-mock" name="yazuo/platform/external/android-mock" /><project path="external/ant-glob" name="yazuo/platform/external/ant-glob" /><project path="external/antlr" name="yazuo/platform/external/antlr" /><project path="external/apache-harmony" name="yazuo/platform/external/apache-harmony" /><project path="external/apache-http" name="yazuo/platform/external/apache-http" /><project path="external/apache-xml" name="yazuo/platform/external/apache-xml" /><project path="external/arduino" name="yazuo/platform/external/arduino" /><project path="external/bison" name="yazuo/platform/external/bison"  /><project path="external/blktrace" name="yazuo/platform/external/blktrace" /><project path="external/bluetooth/bluedroid" name="yazuo/platform/external/bluetooth/bluedroid"  /><project path="external/bouncycastle" name="yazuo/platform/external/bouncycastle" /><project path="external/bsdiff" name="yazuo/platform/external/bsdiff"  /><project path="external/bzip2" name="yazuo/platform/external/bzip2"  /><project path="external/ceres-solver" name="yazuo/platform/external/ceres-solver" /><project path="external/checkpolicy" name="yazuo/platform/external/checkpolicy"  /><project path="external/chromium" name="yazuo/platform/external/chromium" /><project path="external/chromium-libpac" name="yazuo/platform/external/chromium-libpac" /><project path="external/chromium-trace" name="yazuo/platform/external/chromium-trace"  /><project path="external/chromium_org" name="yazuo/platform/external/chromium_org" /><project path="external/chromium_org/sdch/open-vcdiff" name="yazuo/platform/external/chromium_org/sdch/open-vcdiff" /><project path="external/chromium_org/testing/gtest" name="yazuo/platform/external/chromium_org/testing/gtest" /><project path="external/chromium_org/third_party/WebKit" name="yazuo/platform/external/chromium_org/third_party/WebKit" /><project path="external/chromium_org/third_party/angle_dx11" name="yazuo/platform/external/chromium_org/third_party/angle_dx11" /><project path="external/chromium_org/third_party/eyesfree/src/android/java/src/com/googlecode/eyesfree/braille" name="yazuo/platform/external/chromium_org/third_party/eyesfree/src/android/java/src/com/googlecode/eyesfree/braille" /><project path="external/chromium_org/third_party/freetype" name="yazuo/platform/external/chromium_org/third_party/freetype" /><project path="external/chromium_org/third_party/icu" name="yazuo/platform/external/chromium_org/third_party/icu" /><project path="external/chromium_org/third_party/leveldatabase/src" name="yazuo/platform/external/chromium_org/third_party/leveldatabase/src" /><project path="external/chromium_org/third_party/libjingle/source/talk" name="yazuo/platform/external/chromium_org/third_party/libjingle/source/talk" /><project path="external/chromium_org/third_party/libphonenumber/src/phonenumbers" name="yazuo/platform/external/chromium_org/third_party/libphonenumber/src/phonenumbers" /><project path="external/chromium_org/third_party/libphonenumber/src/resources" name="yazuo/platform/external/chromium_org/third_party/libphonenumber/src/resources" /><project path="external/chromium_org/third_party/mesa/src" name="yazuo/platform/external/chromium_org/third_party/mesa/src" /><project path="external/chromium_org/third_party/openssl" name="yazuo/platform/external/chromium_org/third_party/openssl" /><project path="external/chromium_org/third_party/opus/src" name="yazuo/platform/external/chromium_org/third_party/opus/src" /><project path="external/chromium_org/third_party/ots" name="yazuo/platform/external/chromium_org/third_party/ots" /><project path="external/chromium_org/third_party/skia/gyp" name="yazuo/platform/external/chromium_org/third_party/skia/gyp" /><project path="external/chromium_org/third_party/skia/include" name="yazuo/platform/external/chromium_org/third_party/skia/include" /><project path="external/chromium_org/third_party/skia/src" name="yazuo/platform/external/chromium_org/third_party/skia/src" /><project path="external/chromium_org/third_party/smhasher/src" name="yazuo/platform/external/chromium_org/third_party/smhasher/src" /><project path="external/chromium_org/third_party/yasm/source/patched-yasm" name="yazuo/platform/external/chromium_org/third_party/yasm/source/patched-yasm" /><project path="external/chromium_org/tools/grit" name="yazuo/platform/external/chromium_org/tools/grit" /><project path="external/chromium_org/tools/gyp" name="yazuo/platform/external/chromium_org/tools/gyp" /><project path="external/chromium_org/v8" name="yazuo/platform/external/chromium_org/v8" /><project path="external/clang" name="yazuo/platform/external/clang"  /><project path="external/compiler-rt" name="yazuo/platform/external/compiler-rt"  /><project path="external/dexmaker" name="yazuo/platform/external/dexmaker" /><project path="external/dhcpcd" name="yazuo/platform/external/dhcpcd" /><project path="external/dnsmasq" name="yazuo/platform/external/dnsmasq"  /><project path="external/doclava" name="yazuo/platform/external/doclava" /><project path="external/dropbear" name="yazuo/platform/external/dropbear" /><project path="external/droiddriver" name="yazuo/platform/external/droiddriver" /><project path="external/e2fsprogs" name="yazuo/platform/external/e2fsprogs"  /><project path="external/easymock" name="yazuo/platform/external/easymock" /><project path="external/eclipse-basebuilder" name="yazuo/platform/external/eclipse-basebuilder" /><project path="external/eclipse-windowbuilder" name="yazuo/platform/external/eclipse-windowbuilder" /><project path="external/eigen" name="yazuo/platform/external/eigen" /><project path="external/elfutils" name="yazuo/platform/external/elfutils" /><project path="external/embunit" name="yazuo/platform/external/embunit" /><project path="external/emma" name="yazuo/platform/external/emma" /><project path="external/esd" name="yazuo/platform/external/esd" /><project path="external/expat" name="yazuo/platform/external/expat"  /><project path="external/eyes-free" name="yazuo/platform/external/eyes-free" /><project path="external/fdlibm" name="yazuo/platform/external/fdlibm" /><project path="external/flac" name="yazuo/platform/external/flac"  /><project path="external/freetype" name="yazuo/platform/external/freetype"  /><project path="external/fsck_msdos" name="yazuo/platform/external/fsck_msdos" /><project path="external/ganymed-ssh2" name="yazuo/platform/external/ganymed-ssh2" /><project path="external/gcc-demangle" name="yazuo/platform/external/gcc-demangle"  /><project path="external/genext2fs" name="yazuo/platform/external/genext2fs" /><project path="external/giflib" name="yazuo/platform/external/giflib" /><project path="external/google-diff-match-patch" name="yazuo/platform/external/google-diff-match-patch" /><project path="external/grub" name="yazuo/platform/external/grub" /><project path="external/gtest" name="yazuo/platform/external/gtest"  /><project path="external/guava" name="yazuo/platform/external/guava" /><project path="external/hamcrest" name="yazuo/platform/external/hamcrest" /><project path="external/harfbuzz" name="yazuo/platform/external/harfbuzz" /><project path="external/harfbuzz_ng" name="yazuo/platform/external/harfbuzz_ng" /><project path="external/hyphenation" name="yazuo/platform/external/hyphenation" /><project path="external/icu4c" name="yazuo/platform/external/icu4c"  /><project path="external/iproute2" name="yazuo/platform/external/iproute2"  /><project path="external/ipsec-tools" name="yazuo/platform/external/ipsec-tools" /><project path="external/iptables" name="yazuo/platform/external/iptables" /><project path="external/iputils" name="yazuo/platform/external/iputils" /><project path="external/LaunchPPPoe" name="yazuo/platform/external/LaunchPPPoe" /><project path="external/libifaddrs" name="yazuo/platform/external/libifaddrs" /><project path="external/pppoe" name="yazuo/platform/external/pppoe" /><project path="external/javasqlite" name="yazuo/platform/external/javasqlite" /><project path="external/javassist" name="yazuo/platform/external/javassist" /><project path="external/jdiff" name="yazuo/platform/external/jdiff" /><project path="external/jhead" name="yazuo/platform/external/jhead"  /><project path="external/jmdns" name="yazuo/platform/external/jmdns" /><project path="external/jmonkeyengine" name="yazuo/platform/external/jmonkeyengine" /><project path="external/jpeg" name="yazuo/platform/external/jpeg"  /><project path="external/jsilver" name="yazuo/platform/external/jsilver" /><project path="external/jsr305" name="yazuo/platform/external/jsr305" /><project path="external/junit" name="yazuo/platform/external/junit" /><project path="external/kernel-headers" name="yazuo/platform/external/kernel-headers" /><project path="external/libcap-ng" name="yazuo/platform/external/libcap-ng" /><project path="external/libffi" name="yazuo/platform/external/libffi" /><project path="external/libgsm" name="yazuo/platform/external/libgsm"  /><project path="external/liblzf" name="yazuo/platform/external/liblzf"  /><project path="external/libmtp" name="yazuo/platform/external/libmtp" /><project path="external/libnfc-nci" name="yazuo/platform/external/libnfc-nci"  /><project path="external/libnfc-nxp" name="yazuo/platform/external/libnfc-nxp"  /><project path="external/libnl-headers" name="yazuo/platform/external/libnl-headers"  /><project path="external/libogg" name="yazuo/platform/external/libogg" /><project path="external/libpcap" name="yazuo/platform/external/libpcap" /><project path="external/libphonenumber" name="yazuo/platform/external/libphonenumber" /><project path="external/libpng" name="yazuo/platform/external/libpng"  /><project path="external/libppp" name="yazuo/platform/external/libppp" /><project path="external/libselinux" name="yazuo/platform/external/libselinux"  /><project path="external/libsepol" name="yazuo/platform/external/libsepol"  /><project path="external/libusb" name="yazuo/platform/external/libusb" /><project path="external/libusb-compat" name="yazuo/platform/external/libusb-compat" /><project path="external/libvorbis" name="yazuo/platform/external/libvorbis" /><project path="external/libvpx" name="yazuo/platform/external/libvpx"  /><project path="external/libxml2" name="yazuo/platform/external/libxml2" /><project path="external/libxslt" name="yazuo/platform/external/libxslt" /><project path="external/libyuv" name="yazuo/platform/external/libyuv"  /><project path="external/linux-tools-perf" name="yazuo/platform/external/linux-tools-perf" /><project path="external/littlemock" name="yazuo/platform/external/littlemock" /><project path="external/wide-dhcpv6" name="yazuo/platform/external/wide-dhcpv6" /><project path="external/llvm" name="yazuo/platform/external/llvm"  /><project path="external/lzma" name="yazuo/platform/external/lzma" /><project path="external/marisa-trie" name="yazuo/platform/external/marisa-trie" /><project path="external/markdown" name="yazuo/platform/external/markdown" /><project path="external/mdnsresponder" name="yazuo/platform/external/mdnsresponder"  /><project path="external/mesa3d" name="yazuo/platform/external/mesa3d" /><project path="external/mksh" name="yazuo/platform/external/mksh"  /><project path="external/mockito" name="yazuo/platform/external/mockito" /><project path="external/mockwebserver" name="yazuo/platform/external/mockwebserver" /><project path="external/mp4parser" name="yazuo/platform/external/mp4parser" /><project path="external/mtpd" name="yazuo/platform/external/mtpd" /><project path="external/naver-fonts" name="yazuo/platform/external/naver-fonts" /><project path="external/netcat" name="yazuo/platform/external/netcat" /><project path="external/netperf" name="yazuo/platform/external/netperf" /><project path="external/neven" name="yazuo/platform/external/neven" /><project path="external/nist-pkits" name="yazuo/platform/external/nist-pkits" /><project path="external/nist-sip" name="yazuo/platform/external/nist-sip" /><project path="external/noto-fonts" name="yazuo/platform/external/noto-fonts" /><project path="external/oauth" name="yazuo/platform/external/oauth" /><project path="external/objenesis" name="yazuo/platform/external/objenesis" /><project path="external/okhttp" name="yazuo/platform/external/okhttp" /><project path="external/open-vcdiff" name="yazuo/platform/external/open-vcdiff" /><project path="external/opencv" name="yazuo/platform/external/opencv" /><project path="external/openfst" name="yazuo/platform/external/openfst" /><project path="external/openssh" name="yazuo/platform/external/openssh" /><project path="external/openssl" name="yazuo/platform/external/openssl"  /><project path="external/oprofile" name="yazuo/platform/external/oprofile" /><project path="external/pixman" name="yazuo/platform/external/pixman" /><project path="external/ppp" name="yazuo/platform/external/ppp" /><project path="external/proguard" name="yazuo/platform/external/proguard"  /><project path="external/protobuf" name="yazuo/platform/external/protobuf"  /><project path="external/qemu" name="yazuo/platform/external/qemu" /><project path="external/qemu-pc-bios" name="yazuo/platform/external/qemu-pc-bios" /><project path="external/regex-re2" name="yazuo/platform/external/regex-re2" /><project path="external/replicaisland" name="yazuo/platform/external/replicaisland" /><project path="external/robolectric" name="yazuo/platform/external/robolectric" /><project path="external/safe-iop" name="yazuo/platform/external/safe-iop"  /><project path="external/scrypt" name="yazuo/platform/external/scrypt"  /><project path="external/sepolicy" name="yazuo/platform/external/sepolicy"  /><project path="external/sfntly" name="yazuo/platform/external/sfntly" /><project path="external/sil-fonts" name="yazuo/platform/external/sil-fonts" /><project path="external/skia" name="yazuo/platform/external/skia" /><project path="external/smack" name="yazuo/platform/external/smack" /><project path="external/smali" name="yazuo/platform/external/smali" /><project path="external/sonivox" name="yazuo/platform/external/sonivox"  /><project path="external/speex" name="yazuo/platform/external/speex"  /><project path="external/sqlite" name="yazuo/platform/external/sqlite"  /><project path="external/srec" name="yazuo/platform/external/srec" /><project path="external/srtp" name="yazuo/platform/external/srtp" /><project path="external/stlport" name="yazuo/platform/external/stlport"  /><project path="external/strace" name="yazuo/platform/external/strace" /><project path="external/stressapptest" name="yazuo/platform/external/stressapptest" /><project path="external/svox" name="yazuo/platform/external/svox" /><project path="external/tagsoup" name="yazuo/platform/external/tagsoup" /><project path="external/tcpdump" name="yazuo/platform/external/tcpdump" /><project path="external/timezonepicker-support" name="yazuo/platform/external/timezonepicker-support" /><project path="external/tinyalsa" name="yazuo/platform/external/tinyalsa"  /><project path="external/tinycompress" name="yazuo/platform/external/tinycompress"  /><project path="external/tinyxml" name="yazuo/platform/external/tinyxml"  /><project path="external/tinyxml2" name="yazuo/platform/external/tinyxml2"  /><project path="external/tremolo" name="yazuo/platform/external/tremolo"  /><project path="external/v8" name="yazuo/platform/external/v8" /><project path="external/valgrind" name="yazuo/platform/external/valgrind"  /><project path="external/webp" name="yazuo/platform/external/webp" /><project path="external/webrtc" name="yazuo/platform/external/webrtc"  /><project path="external/wpa_supplicant_8" name="yazuo/platform/external/wpa_supplicant_8"  /><project path="external/xmlwriter" name="yazuo/platform/external/xmlwriter" /><project path="external/xmp_toolkit" name="yazuo/platform/external/xmp_toolkit" /><project path="external/yaffs2" name="yazuo/platform/external/yaffs2"  /><project path="external/zlib" name="yazuo/platform/external/zlib"  /><project path="external/zxing" name="yazuo/platform/external/zxing" /><project path="frameworks/av" name="yazuo/platform/frameworks/av"  /><project path="frameworks/base" name="yazuo/platform/frameworks/base" /><project path="frameworks/compile/libbcc" name="yazuo/platform/frameworks/compile/libbcc"  /><project path="frameworks/compile/mclinker" name="yazuo/platform/frameworks/compile/mclinker"  /><project path="frameworks/compile/slang" name="yazuo/platform/frameworks/compile/slang"  /><project path="frameworks/ex" name="yazuo/platform/frameworks/ex" /><project path="frameworks/ml" name="yazuo/platform/frameworks/ml" /><project path="frameworks/bluetooth" name="yazuo/platform/frameworks/bluetooth" /><project path="frameworks/native" name="yazuo/platform/frameworks/native"  /><project path="frameworks/opt/calendar" name="yazuo/platform/frameworks/opt/calendar" /><project path="frameworks/opt/colorpicker" name="yazuo/platform/frameworks/opt/colorpicker" /><project path="frameworks/opt/datetimepicker" name="yazuo/platform/frameworks/opt/datetimepicker" /><project path="frameworks/opt/emoji" name="yazuo/platform/frameworks/opt/emoji" /><project path="frameworks/opt/inputmethodcommon" name="yazuo/platform/frameworks/opt/inputmethodcommon" /><project path="frameworks/opt/mailcommon" name="yazuo/platform/frameworks/opt/mailcommon" /><project path="frameworks/opt/mms" name="yazuo/platform/frameworks/opt/mms" /><project path="frameworks/opt/net/voip" name="yazuo/platform/frameworks/opt/net/voip" /><project path="frameworks/opt/photoviewer" name="yazuo/platform/frameworks/opt/photoviewer" /><project path="frameworks/opt/timezonepicker" name="yazuo/platform/frameworks/opt/timezonepicker" /><project path="frameworks/opt/telephony" name="yazuo/platform/frameworks/opt/telephony"  /><project path="frameworks/opt/vcard" name="yazuo/platform/frameworks/opt/vcard" /><project path="frameworks/rs" name="yazuo/platform/frameworks/rs"  /><project path="frameworks/support" name="yazuo/platform/frameworks/support" /><project path="frameworks/testing" name="yazuo/platform/frameworks/testing" /><project path="frameworks/uiautomator" name="yazuo/platform/frameworks/uiautomator" /><project path="frameworks/volley" name="yazuo/platform/frameworks/volley" /><project path="frameworks/webview" name="yazuo/platform/frameworks/webview" /><project path="frameworks/wilhelm" name="yazuo/platform/frameworks/wilhelm" /><project path="hardware/akm" name="yazuo/platform/hardware/akm" /><project path="hardware/broadcom/libbt" name="yazuo/platform/hardware/broadcom/libbt"  /><project path="hardware/broadcom/wlan" name="yazuo/platform/hardware/broadcom/wlan"  /><project path="hardware/invensense" name="yazuo/platform/hardware/invensense"  /><project path="hardware/libhardware" name="yazuo/platform/hardware/libhardware"  /><project path="hardware/libhardware_legacy" name="yazuo/platform/hardware/libhardware_legacy"  /><project path="hardware/qcom/audio" name="yazuo/platform/hardware/qcom/audio"  /><project path="hardware/qcom/bt" name="yazuo/platform/hardware/qcom/bt"  /><project path="hardware/qcom/camera" name="yazuo/platform/hardware/qcom/camera"  /><project path="hardware/qcom/display" name="yazuo/platform/hardware/qcom/display"  /><project path="hardware/qcom/keymaster" name="yazuo/platform/hardware/qcom/keymaster"  /><project path="hardware/qcom/media" name="yazuo/platform/hardware/qcom/media"  /><project path="hardware/qcom/msm8960" name="yazuo/platform/hardware/qcom/msm8960"  /><project path="hardware/qcom/msm8x74" name="yazuo/platform/hardware/qcom/msm8x74"  /><project path="hardware/qcom/power" name="yazuo/platform/hardware/qcom/power"  /><project path="hardware/qcom/wlan" name="yazuo/platform/hardware/qcom/wlan"  /><project path="hardware/ril" name="yazuo/platform/hardware/ril"  /><project path="hardware/samsung_slsi/exynos5" name="yazuo/platform/hardware/samsung_slsi/exynos5"  /><project path="hardware/ti/omap3" name="yazuo/platform/hardware/ti/omap3" /><project path="hardware/ti/omap4xxx" name="yazuo/platform/hardware/ti/omap4xxx"  /><project path="hardware/ti/wlan" name="yazuo/platform/hardware/ti/wlan" /><project path="hardware/ti/wpan" name="yazuo/platform/hardware/ti/wpan" /><project path="libcore" name="yazuo/platform/libcore" /><project path="libnativehelper" name="yazuo/platform/libnativehelper"  /><project path="ndk" name="yazuo/platform/ndk" /><project path="kernel" name="yazuo/kernel"/><project path="mediatek" name="yazuo/mediatek" /><project path="vendor" name="yazuo/vendor" /><project path="packages/providers/DrmProvider" name="yazuo/platform/packages/providers/DrmProvider" /><project path="packages/apps/DeviceTestApp" name="yazuo/platform/packages/apps/DeviceTestApp" /><project path="packages/apps/BasicSmsReceiver" name="yazuo/platform/packages/apps/BasicSmsReceiver" /><project path="packages/apps/Bluetooth" name="yazuo/platform/packages/apps/Bluetooth" /><project path="packages/apps/Browser" name="yazuo/platform/packages/apps/Browser" /><project path="packages/apps/Calculator" name="yazuo/platform/packages/apps/Calculator" /><project path="packages/apps/Calendar" name="yazuo/platform/packages/apps/Calendar" /><project path="packages/apps/Camera" name="yazuo/platform/packages/apps/Camera" /><project path="packages/apps/Camera2" name="yazuo/platform/packages/apps/Camera2" /><project path="packages/apps/CellBroadcastReceiver" name="yazuo/platform/packages/apps/CellBroadcastReceiver" /><project path="packages/apps/CertInstaller" name="yazuo/platform/packages/apps/CertInstaller" /><project path="packages/apps/Contacts" name="yazuo/platform/packages/apps/Contacts" /><project path="packages/apps/ContactsCommon" name="yazuo/platform/packages/apps/ContactsCommon" /><project path="packages/apps/DeskClock" name="yazuo/platform/packages/apps/DeskClock" /><project path="packages/apps/Dialer" name="yazuo/platform/packages/apps/Dialer" /><project path="packages/apps/Email" name="yazuo/platform/packages/apps/Email" /><project path="packages/apps/Exchange" name="yazuo/platform/packages/apps/Exchange" /><project path="packages/apps/Gallery" name="yazuo/platform/packages/apps/Gallery" /><project path="packages/apps/Gallery2" name="yazuo/platform/packages/apps/Gallery2" /><project path="packages/apps/HTMLViewer" name="yazuo/platform/packages/apps/HTMLViewer" /><project path="packages/apps/InCallUI" name="yazuo/platform/packages/apps/InCallUI" /><project path="packages/apps/KeyChain" name="yazuo/platform/packages/apps/KeyChain" /><project path="packages/apps/Launcher2" name="yazuo/platform/packages/apps/Launcher2" /><project path="packages/apps/Launcher3" name="yazuo/platform/packages/apps/Launcher3" /><project path="packages/apps/LegacyCamera" name="yazuo/platform/packages/apps/LegacyCamera" /><project path="packages/apps/Mms" name="yazuo/platform/packages/apps/Mms" /><project path="packages/apps/Music" name="yazuo/platform/packages/apps/Music" /><project path="packages/apps/MusicFX" name="yazuo/platform/packages/apps/MusicFX" /><project path="packages/apps/Nfc" name="yazuo/platform/packages/apps/Nfc" /><project path="packages/apps/OneTimeInitializer" name="yazuo/platform/packages/apps/OneTimeInitializer" /><project path="packages/apps/PackageInstaller" name="yazuo/platform/packages/apps/PackageInstaller" /><project path="packages/apps/PhoneCommon" name="yazuo/platform/packages/apps/PhoneCommon" /><project path="packages/apps/Protips" name="yazuo/platform/packages/apps/Protips" /><project path="packages/apps/Provision" name="yazuo/platform/packages/apps/Provision" /><project path="packages/apps/QuickSearchBox" name="yazuo/platform/packages/apps/QuickSearchBox" /><project path="packages/apps/Settings" name="yazuo/platform/packages/apps/Settings" /><project path="packages/apps/SoundRecorder" name="yazuo/platform/packages/apps/SoundRecorder" /><project path="packages/apps/SpareParts" name="yazuo/platform/packages/apps/SpareParts" /><project path="packages/apps/SpeechRecorder" name="yazuo/platform/packages/apps/SpeechRecorder" /><project path="packages/apps/Stk" name="yazuo/platform/packages/apps/Stk" /><project path="packages/apps/Tag" name="yazuo/platform/packages/apps/Tag" /><project path="packages/apps/UnifiedEmail" name="yazuo/platform/packages/apps/UnifiedEmail" /><project path="packages/apps/VideoEditor" name="yazuo/platform/packages/apps/VideoEditor" /><project path="packages/apps/VoiceDialer" name="yazuo/platform/packages/apps/VoiceDialer" /><project path="packages/experimental" name="yazuo/platform/packages/experimental" /><project path="packages/inputmethods/LatinIME" name="yazuo/platform/packages/inputmethods/LatinIME" /><project path="packages/inputmethods/OpenWnn" name="yazuo/platform/packages/inputmethods/OpenWnn" /><project path="packages/inputmethods/PinyinIME" name="yazuo/platform/packages/inputmethods/PinyinIME" /><project path="packages/providers/ApplicationsProvider" name="yazuo/platform/packages/providers/ApplicationsProvider" /><project path="packages/providers/CalendarProvider" name="yazuo/platform/packages/providers/CalendarProvider" /><project path="packages/providers/ContactsProvider" name="yazuo/platform/packages/providers/ContactsProvider" /><project path="packages/providers/DownloadProvider" name="yazuo/platform/packages/providers/DownloadProvider" /><project path="packages/providers/MediaProvider" name="yazuo/platform/packages/providers/MediaProvider" /><project path="packages/providers/PartnerBookmarksProvider" name="yazuo/platform/packages/providers/PartnerBookmarksProvider" /><project path="packages/providers/TelephonyProvider" name="yazuo/platform/packages/providers/TelephonyProvider" /><project path="packages/providers/UserDictionaryProvider" name="yazuo/platform/packages/providers/UserDictionaryProvider" /><project path="packages/screensavers/Basic" name="yazuo/platform/packages/screensavers/Basic" /><project path="packages/screensavers/PhotoTable" name="yazuo/platform/packages/screensavers/PhotoTable" /><project path="packages/screensavers/WebView" name="yazuo/platform/packages/screensavers/WebView" /><project path="packages/services/Telephony" name="yazuo/platform/packages/services/Telephony" /><project path="packages/wallpapers/Basic" name="yazuo/platform/packages/wallpapers/Basic" /><project path="packages/wallpapers/Galaxy4" name="yazuo/platform/packages/wallpapers/Galaxy4" /><project path="packages/wallpapers/HoloSpiral" name="yazuo/platform/packages/wallpapers/HoloSpiral" /><project path="packages/wallpapers/LivePicker" name="yazuo/platform/packages/wallpapers/LivePicker" /><project path="packages/wallpapers/MagicSmoke" name="yazuo/platform/packages/wallpapers/MagicSmoke" /><project path="packages/wallpapers/MusicVisualization" name="yazuo/platform/packages/wallpapers/MusicVisualization" /><project path="packages/wallpapers/NoiseField" name="yazuo/platform/packages/wallpapers/NoiseField" /><project path="packages/wallpapers/PhaseBeam" name="yazuo/platform/packages/wallpapers/PhaseBeam" /><project path="pdk" name="yazuo/platform/pdk"  /><project path="prebuilts/clang/linux-x86/3.1" name="yazuo/platform/prebuilts/clang/linux-x86/3.1"  /><project path="prebuilts/devtools" name="yazuo/platform/prebuilts/devtools" /><project path="prebuilts/eclipse" name="yazuo/platform/prebuilts/eclipse"  /><project path="prebuilts/gcc/darwin-x86/arm/arm-eabi-4.6" name="yazuo/platform/prebuilts/gcc/darwin-x86/arm/arm-eabi-4.6"  /><project path="prebuilts/gcc/darwin-x86/arm/arm-eabi-4.7" name="yazuo/platform/prebuilts/gcc/darwin-x86/arm/arm-eabi-4.7"  /><project path="prebuilts/gcc/darwin-x86/arm/arm-linux-androideabi-4.6" name="yazuo/platform/prebuilts/gcc/darwin-x86/arm/arm-linux-androideabi-4.6"  /><project path="prebuilts/gcc/darwin-x86/arm/arm-linux-androideabi-4.7" name="yazuo/platform/prebuilts/gcc/darwin-x86/arm/arm-linux-androideabi-4.7"  /><project path="prebuilts/gcc/darwin-x86/host/i686-apple-darwin-4.2.1" name="yazuo/platform/prebuilts/gcc/darwin-x86/host/i686-apple-darwin-4.2.1"  /><project path="prebuilts/gcc/darwin-x86/mips/mipsel-linux-android-4.6" name="yazuo/platform/prebuilts/gcc/darwin-x86/mips/mipsel-linux-android-4.6"  /><project path="prebuilts/gcc/darwin-x86/mips/mipsel-linux-android-4.7" name="yazuo/platform/prebuilts/gcc/darwin-x86/mips/mipsel-linux-android-4.7"  /><project path="prebuilts/gcc/darwin-x86/x86/i686-linux-android-4.6" name="yazuo/platform/prebuilts/gcc/darwin-x86/x86/i686-linux-android-4.6"  /><project path="prebuilts/gcc/darwin-x86/x86/i686-linux-android-4.7" name="yazuo/platform/prebuilts/gcc/darwin-x86/x86/i686-linux-android-4.7"  /><project path="prebuilts/gcc/linux-x86/arm/arm-eabi-4.6" name="yazuo/platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6"  /><project path="prebuilts/gcc/linux-x86/arm/arm-eabi-4.7" name="yazuo/platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.7"  /><project path="prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.6" name="yazuo/platform/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.6"  /><project path="prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.7" name="yazuo/platform/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.7"  /><project path="prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.4.3" name="yazuo/platform/prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.4.3"  /><project path="prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.6" name="yazuo/platform/prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.6"  /><project path="prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6" name="yazuo/platform/prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6"  /><project path="prebuilts/gcc/linux-x86/mips/mipsel-linux-android-4.6" name="yazuo/platform/prebuilts/gcc/linux-x86/mips/mipsel-linux-android-4.6"  /><project path="prebuilts/gcc/linux-x86/mips/mipsel-linux-android-4.7" name="yazuo/platform/prebuilts/gcc/linux-x86/mips/mipsel-linux-android-4.7"  /><project path="prebuilts/gcc/linux-x86/x86/i686-linux-android-4.6" name="yazuo/platform/prebuilts/gcc/linux-x86/x86/i686-linux-android-4.6"  /><project path="prebuilts/gcc/linux-x86/x86/i686-linux-android-4.7" name="yazuo/platform/prebuilts/gcc/linux-x86/x86/i686-linux-android-4.7"  /><project path="prebuilts/misc" name="yazuo/platform/prebuilts/misc"  /><project path="prebuilts/ndk" name="yazuo/platform/prebuilts/ndk"  /><project path="prebuilts/python/darwin-x86/2.7.5" name="yazuo/platform/prebuilts/python/darwin-x86/2.7.5"  /><project path="prebuilts/python/linux-x86/2.7.5" name="yazuo/platform/prebuilts/python/linux-x86/2.7.5"  /><project path="prebuilts/qemu-kernel" name="yazuo/platform/prebuilts/qemu-kernel"  /><project path="prebuilts/runtime" name="yazuo/platform/prebuilts/runtime" /><project path="prebuilts/sdk" name="yazuo/platform/prebuilts/sdk"  /><project path="prebuilts/tools" name="yazuo/platform/prebuilts/tools"  /><project path="sdk" name="yazuo/platform/sdk" /><project path="system/mobile_toolkit" name="yazuo/platform/system/mobile_toolkit" /><project path="system/core" name="yazuo/platform/system/core"  /><project path="system/extras" name="yazuo/platform/system/extras"  /><project path="system/media" name="yazuo/platform/system/media"  /><project path="system/netd" name="yazuo/platform/system/netd"  /><project path="system/security" name="yazuo/platform/system/security"  /><project path="system/vold" name="yazuo/platform/system/vold"  /><project path="tools/external/fat32lib" name="yazuo/platform/tools/external/fat32lib"  /><project path="tools/external/gradle" name="yazuo/platform/tools/external/gradle"  /><project path="tools/idea" name="yazuo/platform/tools/idea"  /></manifest>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182
  • 183
  • 184
  • 185
  • 186
  • 187
  • 188
  • 189
  • 190
  • 191
  • 192
  • 193
  • 194
  • 195
  • 196
  • 197
  • 198
  • 199
  • 200
  • 201
  • 202
  • 203
  • 204
  • 205
  • 206
  • 207
  • 208
  • 209
  • 210
  • 211
  • 212
  • 213
  • 214
  • 215
  • 216
  • 217
  • 218
  • 219
  • 220
  • 221
  • 222
  • 223
  • 224
  • 225
  • 226
  • 227
  • 228
  • 229
  • 230
  • 231
  • 232
  • 233
  • 234
  • 235
  • 236
  • 237
  • 238
  • 239
  • 240
  • 241
  • 242
  • 243
  • 244
  • 245
  • 246
  • 247
  • 248
  • 249
  • 250
  • 251
  • 252
  • 253
  • 254
  • 255
  • 256
  • 257
  • 258
  • 259
  • 260
  • 261
  • 262
  • 263
  • 264
  • 265
  • 266
  • 267
  • 268
  • 269
  • 270
  • 271
  • 272
  • 273
  • 274
  • 275
  • 276
  • 277
  • 278
  • 279
  • 280
  • 281
  • 282
  • 283
  • 284
  • 285
  • 286
  • 287
  • 288
  • 289
  • 290
  • 291
  • 292
  • 293
  • 294
  • 295
  • 296
  • 297
  • 298
  • 299
  • 300
  • 301
  • 302
  • 303
  • 304
  • 305
  • 306
  • 307
  • 308
  • 309
  • 310
  • 311
  • 312
  • 313
  • 314
  • 315
  • 316
  • 317
  • 318
  • 319
  • 320
  • 321
  • 322
  • 323
  • 324
  • 325
  • 326
  • 327
  • 328
  • 329
  • 330
  • 331
  • 332
  • 333
  • 334
  • 335
  • 336
  • 337
  • 338
  • 339
  • 340
  • 341
  • 342
  • 343
  • 344
  • 345
  • 346
  • 347
  • 348
  • 349
  • 350
  • 351
  • 352
  • 353
  • 354
  • 355
  • 356
  • 357
  • 358
  • 359
  • 360
  • 361
  • 362
  • 363
  • 364
  • 365
  • 366
  • 367
  • 368
  • 369
  • 370
  • 371
  • 372
  • 373
  • 374
  • 375
  • 376
  • 377
  • 378
  • 379
  • 380
  • 381
  • 382
  • 383
  • 384
  • 385
  • 386
  • 387
  • 388
  • 389
  • 390
  • 391
  • 392
  • 393
  • 394
  • 395
  • 396
  • 397
  • 398
  • 399
  • 400
  • 401
  • 402
  • 403
  • 404
  • 405
  • 406
  • 407
  • 408
  • 409
  • 410
  • 411

将上面的default.xml 文件push 到仓库:

git add default.xml
git commit -m "add default.xml"
git push origin master
  • 1
  • 2
  • 3

4)给manifest.git仓库添加新成员berry(服务器端的默认登录用户)
【在服务器上使用berry用户操作】
生成berry用户的秘钥,并将公钥拷贝到远程xia私钥计算机的/tmp目录下

ssh-keygen -t rsa
scp ~/.ssh/id_rsa.pub xia@192.168.100.181:/tmp
  • 1
  • 2

【在xia私钥计算机上操作】
将berry用户的公钥拷贝到本地gitolite-admin库里的keydir目录下:

cp /tmp/id_rsa.pub ~/gitolite-admin/keydir/berry.pub
  • 1

编辑本地gitolite-admin库里的gitolite.conf,修改:

repo    manifest
-        RW+     =   xia
+        RW+     =   xia berry
  • 1
  • 2
  • 3

commit修改,push到服务器生效。

3.创建服务器上的android源码版本库
1)获取default.xml文件
【在服务器上使用berry用户操作】

cd ~/Download/
git clone gitolite@192.168.100.249:manifest.git
  • 1
  • 2

【在服务器上使用gitolite用户操作】

sudo su - gitolite
cd ~
cp /home/berry/Downloads/manifest/default.xml ./
  • 1
  • 2
  • 3

2)生成server.txt
使用 cat default.xml | cut -d ‘”’ -f 4 > server.txt
生成server.txt,将无关的字符删除

-UTF-8
-<manifest>
-Makefile
-   </project>
-</manifest>
  • 1
  • 2
  • 3
  • 4
  • 5

得到一个服务端路径的文本 server.txt

yazuo/platform/build
yazuo/platform/abi/cpp
yazuo/platform/art
yazuo/platform/bionic
yazuo/platform/bootable/bootloader/lk
yazuo/platform/bootable/diskinstaller
yazuo/platform/bootable/recovery
yazuo/platform/cts
yazuo/platform/dalvik
yazuo/platform/developers/build
yazuo/platform/developers/samples/android
yazuo/platform/development
yazuo/device/asus/deb
yazuo/device/asus/flo
yazuo/device/asus/flo-kernel
yazuo/device/asus/grouper
yazuo/device/asus/tilapia
yazuo/device/common
yazuo/device/generic/armv7-a-neon
yazuo/device/generic/common
yazuo/device/generic/goldfish
yazuo/device/generic/mips
yazuo/device/generic/mini-emulator-armv7-a-neon
yazuo/device/generic/mini-emulator-mips
yazuo/device/generic/mini-emulator-x86
yazuo/device/generic/x86
yazuo/device/google/accessory/arduino
yazuo/device/google/accessory/demokit
yazuo/device/lge/hammerhead
yazuo/device/lge/hammerhead-kernel
yazuo/device/lge/mako
yazuo/device/lge/mako-kernel
yazuo/device/sample
yazuo/device/samsung/manta
yazuo/platform/docs/source.android.com
yazuo/platform/external/aac
yazuo/platform/external/android-clat
yazuo/platform/external/android-mock
yazuo/platform/external/ant-glob
yazuo/platform/external/antlr
yazuo/platform/external/apache-harmony
yazuo/platform/external/apache-http
yazuo/platform/external/apache-xml
yazuo/platform/external/arduino
yazuo/platform/external/bison
yazuo/platform/external/blktrace
yazuo/platform/external/bluetooth/bluedroid
yazuo/platform/external/bouncycastle
yazuo/platform/external/bsdiff
yazuo/platform/external/bzip2
yazuo/platform/external/ceres-solver
yazuo/platform/external/checkpolicy
yazuo/platform/external/chromium
yazuo/platform/external/chromium-libpac
yazuo/platform/external/chromium-trace
yazuo/platform/external/chromium_org
yazuo/platform/external/chromium_org/sdch/open-vcdiff
yazuo/platform/external/chromium_org/testing/gtest
yazuo/platform/external/chromium_org/third_party/WebKit
yazuo/platform/external/chromium_org/third_party/angle_dx11
yazuo/platform/external/chromium_org/third_party/eyesfree/src/android/java/src/com/googlecode/eyesfree/braille
yazuo/platform/external/chromium_org/third_party/freetype
yazuo/platform/external/chromium_org/third_party/icu
yazuo/platform/external/chromium_org/third_party/leveldatabase/src
yazuo/platform/external/chromium_org/third_party/libjingle/source/talk
yazuo/platform/external/chromium_org/third_party/libphonenumber/src/phonenumbers
yazuo/platform/external/chromium_org/third_party/libphonenumber/src/resources
yazuo/platform/external/chromium_org/third_party/mesa/src
yazuo/platform/external/chromium_org/third_party/openssl
yazuo/platform/external/chromium_org/third_party/opus/src
yazuo/platform/external/chromium_org/third_party/ots
yazuo/platform/external/chromium_org/third_party/skia/gyp
yazuo/platform/external/chromium_org/third_party/skia/include
yazuo/platform/external/chromium_org/third_party/skia/src
yazuo/platform/external/chromium_org/third_party/smhasher/src
yazuo/platform/external/chromium_org/third_party/yasm/source/patched-yasm
yazuo/platform/external/chromium_org/tools/grit
yazuo/platform/external/chromium_org/tools/gyp
yazuo/platform/external/chromium_org/v8
yazuo/platform/external/clang
yazuo/platform/external/compiler-rt
yazuo/platform/external/dexmaker
yazuo/platform/external/dhcpcd
yazuo/platform/external/dnsmasq
yazuo/platform/external/doclava
yazuo/platform/external/dropbear
yazuo/platform/external/droiddriver
yazuo/platform/external/e2fsprogs
yazuo/platform/external/easymock
yazuo/platform/external/eclipse-basebuilder
yazuo/platform/external/eclipse-windowbuilder
yazuo/platform/external/eigen
yazuo/platform/external/elfutils
yazuo/platform/external/embunit
yazuo/platform/external/emma
yazuo/platform/external/esd
yazuo/platform/external/expat
yazuo/platform/external/eyes-free
yazuo/platform/external/fdlibm
yazuo/platform/external/flac
yazuo/platform/external/freetype
yazuo/platform/external/fsck_msdos
yazuo/platform/external/ganymed-ssh2
yazuo/platform/external/gcc-demangle
yazuo/platform/external/genext2fs
yazuo/platform/external/giflib
yazuo/platform/external/google-diff-match-patch
yazuo/platform/external/grub
yazuo/platform/external/gtest
yazuo/platform/external/guava
yazuo/platform/external/hamcrest
yazuo/platform/external/harfbuzz
yazuo/platform/external/harfbuzz_ng
yazuo/platform/external/hyphenation
yazuo/platform/external/icu4c
yazuo/platform/external/iproute2
yazuo/platform/external/ipsec-tools
yazuo/platform/external/iptables
yazuo/platform/external/iputils
yazuo/platform/external/LaunchPPPoe
yazuo/platform/external/libifaddrs
yazuo/platform/external/pppoe
yazuo/platform/external/javasqlite
yazuo/platform/external/javassist
yazuo/platform/external/jdiff
yazuo/platform/external/jhead
yazuo/platform/external/jmdns
yazuo/platform/external/jmonkeyengine
yazuo/platform/external/jpeg
yazuo/platform/external/jsilver
yazuo/platform/external/jsr305
yazuo/platform/external/junit
yazuo/platform/external/kernel-headers
yazuo/platform/external/libcap-ng
yazuo/platform/external/libffi
yazuo/platform/external/libgsm
yazuo/platform/external/liblzf
yazuo/platform/external/libmtp
yazuo/platform/external/libnfc-nci
yazuo/platform/external/libnfc-nxp
yazuo/platform/external/libnl-headers
yazuo/platform/external/libogg
yazuo/platform/external/libpcap
yazuo/platform/external/libphonenumber
yazuo/platform/external/libpng
yazuo/platform/external/libppp
yazuo/platform/external/libselinux
yazuo/platform/external/libsepol
yazuo/platform/external/libusb
yazuo/platform/external/libusb-compat
yazuo/platform/external/libvorbis
yazuo/platform/external/libvpx
yazuo/platform/external/libxml2
yazuo/platform/external/libxslt
yazuo/platform/external/libyuv
yazuo/platform/external/linux-tools-perf
yazuo/platform/external/littlemock
yazuo/platform/external/wide-dhcpv6
yazuo/platform/external/llvm
yazuo/platform/external/lzma
yazuo/platform/external/marisa-trie
yazuo/platform/external/markdown
yazuo/platform/external/mdnsresponder
yazuo/platform/external/mesa3d
yazuo/platform/external/mksh
yazuo/platform/external/mockito
yazuo/platform/external/mockwebserver
yazuo/platform/external/mp4parser
yazuo/platform/external/mtpd
yazuo/platform/external/naver-fonts
yazuo/platform/external/netcat
yazuo/platform/external/netperf
yazuo/platform/external/neven
yazuo/platform/external/nist-pkits
yazuo/platform/external/nist-sip
yazuo/platform/external/noto-fonts
yazuo/platform/external/oauth
yazuo/platform/external/objenesis
yazuo/platform/external/okhttp
yazuo/platform/external/open-vcdiff
yazuo/platform/external/opencv
yazuo/platform/external/openfst
yazuo/platform/external/openssh
yazuo/platform/external/openssl
yazuo/platform/external/oprofile
yazuo/platform/external/pixman
yazuo/platform/external/ppp
yazuo/platform/external/proguard
yazuo/platform/external/protobuf
yazuo/platform/external/qemu
yazuo/platform/external/qemu-pc-bios
yazuo/platform/external/regex-re2
yazuo/platform/external/replicaisland
yazuo/platform/external/robolectric
yazuo/platform/external/safe-iop
yazuo/platform/external/scrypt
yazuo/platform/external/sepolicy
yazuo/platform/external/sfntly
yazuo/platform/external/sil-fonts
yazuo/platform/external/skia
yazuo/platform/external/smack
yazuo/platform/external/smali
yazuo/platform/external/sonivox
yazuo/platform/external/speex
yazuo/platform/external/sqlite
yazuo/platform/external/srec
yazuo/platform/external/srtp
yazuo/platform/external/stlport
yazuo/platform/external/strace
yazuo/platform/external/stressapptest
yazuo/platform/external/svox
yazuo/platform/external/tagsoup
yazuo/platform/external/tcpdump
yazuo/platform/external/timezonepicker-support
yazuo/platform/external/tinyalsa
yazuo/platform/external/tinycompress
yazuo/platform/external/tinyxml
yazuo/platform/external/tinyxml2
yazuo/platform/external/tremolo
yazuo/platform/external/v8
yazuo/platform/external/valgrind
yazuo/platform/external/webp
yazuo/platform/external/webrtc
yazuo/platform/external/wpa_supplicant_8
yazuo/platform/external/xmlwriter
yazuo/platform/external/xmp_toolkit
yazuo/platform/external/yaffs2
yazuo/platform/external/zlib
yazuo/platform/external/zxing
yazuo/platform/frameworks/av
yazuo/platform/frameworks/base
yazuo/platform/frameworks/compile/libbcc
yazuo/platform/frameworks/compile/mclinker
yazuo/platform/frameworks/compile/slang
yazuo/platform/frameworks/ex
yazuo/platform/frameworks/ml
yazuo/platform/frameworks/bluetooth
yazuo/platform/frameworks/native
yazuo/platform/frameworks/opt/calendar
yazuo/platform/frameworks/opt/colorpicker
yazuo/platform/frameworks/opt/datetimepicker
yazuo/platform/frameworks/opt/emoji
yazuo/platform/frameworks/opt/inputmethodcommon
yazuo/platform/frameworks/opt/mailcommon
yazuo/platform/frameworks/opt/mms
yazuo/platform/frameworks/opt/net/voip
yazuo/platform/frameworks/opt/photoviewer
yazuo/platform/frameworks/opt/timezonepicker
yazuo/platform/frameworks/opt/telephony
yazuo/platform/frameworks/opt/vcard
yazuo/platform/frameworks/rs
yazuo/platform/frameworks/support
yazuo/platform/frameworks/testing
yazuo/platform/frameworks/uiautomator
yazuo/platform/frameworks/volley
yazuo/platform/frameworks/webview
yazuo/platform/frameworks/wilhelm
yazuo/platform/hardware/akm
yazuo/platform/hardware/broadcom/libbt
yazuo/platform/hardware/broadcom/wlan
yazuo/platform/hardware/invensense
yazuo/platform/hardware/libhardware
yazuo/platform/hardware/libhardware_legacy
yazuo/platform/hardware/qcom/audio
yazuo/platform/hardware/qcom/bt
yazuo/platform/hardware/qcom/camera
yazuo/platform/hardware/qcom/display
yazuo/platform/hardware/qcom/keymaster
yazuo/platform/hardware/qcom/media
yazuo/platform/hardware/qcom/msm8960
yazuo/platform/hardware/qcom/msm8x74
yazuo/platform/hardware/qcom/power
yazuo/platform/hardware/qcom/wlan
yazuo/platform/hardware/ril
yazuo/platform/hardware/samsung_slsi/exynos5
yazuo/platform/hardware/ti/omap3
yazuo/platform/hardware/ti/omap4xxx
yazuo/platform/hardware/ti/wlan
yazuo/platform/hardware/ti/wpan
yazuo/platform/libcore
yazuo/platform/libnativehelper
yazuo/platform/ndk
yazuo/kernel
yazuo/mediatek
yazuo/vendor
yazuo/platform/packages/providers/DrmProvider
yazuo/platform/packages/apps/DeviceTestApp
yazuo/platform/packages/apps/BasicSmsReceiver
yazuo/platform/packages/apps/Bluetooth
yazuo/platform/packages/apps/Browser
yazuo/platform/packages/apps/Calculator
yazuo/platform/packages/apps/Calendar
yazuo/platform/packages/apps/Camera
yazuo/platform/packages/apps/Camera2
yazuo/platform/packages/apps/CellBroadcastReceiver
yazuo/platform/packages/apps/CertInstaller
yazuo/platform/packages/apps/Contacts
yazuo/platform/packages/apps/ContactsCommon
yazuo/platform/packages/apps/DeskClock
yazuo/platform/packages/apps/Dialer
yazuo/platform/packages/apps/Email
yazuo/platform/packages/apps/Exchange
yazuo/platform/packages/apps/Gallery
yazuo/platform/packages/apps/Gallery2
yazuo/platform/packages/apps/HTMLViewer
yazuo/platform/packages/apps/InCallUI
yazuo/platform/packages/apps/KeyChain
yazuo/platform/packages/apps/Launcher2
yazuo/platform/packages/apps/Launcher3
yazuo/platform/packages/apps/LegacyCamera
yazuo/platform/packages/apps/Mms
yazuo/platform/packages/apps/Music
yazuo/platform/packages/apps/MusicFX
yazuo/platform/packages/apps/Nfc
yazuo/platform/packages/apps/OneTimeInitializer
yazuo/platform/packages/apps/PackageInstaller
yazuo/platform/packages/apps/PhoneCommon
yazuo/platform/packages/apps/Protips
yazuo/platform/packages/apps/Provision
yazuo/platform/packages/apps/QuickSearchBox
yazuo/platform/packages/apps/Settings
yazuo/platform/packages/apps/SoundRecorder
yazuo/platform/packages/apps/SpareParts
yazuo/platform/packages/apps/SpeechRecorder
yazuo/platform/packages/apps/Stk
yazuo/platform/packages/apps/Tag
yazuo/platform/packages/apps/UnifiedEmail
yazuo/platform/packages/apps/VideoEditor
yazuo/platform/packages/apps/VoiceDialer
yazuo/platform/packages/experimental
yazuo/platform/packages/inputmethods/LatinIME
yazuo/platform/packages/inputmethods/OpenWnn
yazuo/platform/packages/inputmethods/PinyinIME
yazuo/platform/packages/providers/ApplicationsProvider
yazuo/platform/packages/providers/CalendarProvider
yazuo/platform/packages/providers/ContactsProvider
yazuo/platform/packages/providers/DownloadProvider
yazuo/platform/packages/providers/MediaProvider
yazuo/platform/packages/providers/PartnerBookmarksProvider
yazuo/platform/packages/providers/TelephonyProvider
yazuo/platform/packages/providers/UserDictionaryProvider
yazuo/platform/packages/screensavers/Basic
yazuo/platform/packages/screensavers/PhotoTable
yazuo/platform/packages/screensavers/WebView
yazuo/platform/packages/services/Telephony
yazuo/platform/packages/wallpapers/Basic
yazuo/platform/packages/wallpapers/Galaxy4
yazuo/platform/packages/wallpapers/HoloSpiral
yazuo/platform/packages/wallpapers/LivePicker
yazuo/platform/packages/wallpapers/MagicSmoke
yazuo/platform/packages/wallpapers/MusicVisualization
yazuo/platform/packages/wallpapers/NoiseField
yazuo/platform/packages/wallpapers/PhaseBeam
yazuo/platform/pdk
yazuo/platform/prebuilts/clang/linux-x86/3.1
yazuo/platform/prebuilts/devtools
yazuo/platform/prebuilts/eclipse
yazuo/platform/prebuilts/gcc/darwin-x86/arm/arm-eabi-4.6
yazuo/platform/prebuilts/gcc/darwin-x86/arm/arm-eabi-4.7
yazuo/platform/prebuilts/gcc/darwin-x86/arm/arm-linux-androideabi-4.6
yazuo/platform/prebuilts/gcc/darwin-x86/arm/arm-linux-androideabi-4.7
yazuo/platform/prebuilts/gcc/darwin-x86/host/i686-apple-darwin-4.2.1
yazuo/platform/prebuilts/gcc/darwin-x86/mips/mipsel-linux-android-4.6
yazuo/platform/prebuilts/gcc/darwin-x86/mips/mipsel-linux-android-4.7
yazuo/platform/prebuilts/gcc/darwin-x86/x86/i686-linux-android-4.6
yazuo/platform/prebuilts/gcc/darwin-x86/x86/i686-linux-android-4.7
yazuo/platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6
yazuo/platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.7
yazuo/platform/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.6
yazuo/platform/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.7
yazuo/platform/prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.4.3
yazuo/platform/prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.6
yazuo/platform/prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6
yazuo/platform/prebuilts/gcc/linux-x86/mips/mipsel-linux-android-4.6
yazuo/platform/prebuilts/gcc/linux-x86/mips/mipsel-linux-android-4.7
yazuo/platform/prebuilts/gcc/linux-x86/x86/i686-linux-android-4.6
yazuo/platform/prebuilts/gcc/linux-x86/x86/i686-linux-android-4.7
yazuo/platform/prebuilts/misc
yazuo/platform/prebuilts/ndk
yazuo/platform/prebuilts/python/darwin-x86/2.7.5
yazuo/platform/prebuilts/python/linux-x86/2.7.5
yazuo/platform/prebuilts/qemu-kernel
yazuo/platform/prebuilts/runtime
yazuo/platform/prebuilts/sdk
yazuo/platform/prebuilts/tools
yazuo/platform/sdk
yazuo/platform/system/mobile_toolkit
yazuo/platform/system/core
yazuo/platform/system/extras
yazuo/platform/system/media
yazuo/platform/system/netd
yazuo/platform/system/security
yazuo/platform/system/vold
yazuo/platform/tools/external/fat32lib
yazuo/platform/tools/external/gradle
yazuo/platform/tools/idea
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182
  • 183
  • 184
  • 185
  • 186
  • 187
  • 188
  • 189
  • 190
  • 191
  • 192
  • 193
  • 194
  • 195
  • 196
  • 197
  • 198
  • 199
  • 200
  • 201
  • 202
  • 203
  • 204
  • 205
  • 206
  • 207
  • 208
  • 209
  • 210
  • 211
  • 212
  • 213
  • 214
  • 215
  • 216
  • 217
  • 218
  • 219
  • 220
  • 221
  • 222
  • 223
  • 224
  • 225
  • 226
  • 227
  • 228
  • 229
  • 230
  • 231
  • 232
  • 233
  • 234
  • 235
  • 236
  • 237
  • 238
  • 239
  • 240
  • 241
  • 242
  • 243
  • 244
  • 245
  • 246
  • 247
  • 248
  • 249
  • 250
  • 251
  • 252
  • 253
  • 254
  • 255
  • 256
  • 257
  • 258
  • 259
  • 260
  • 261
  • 262
  • 263
  • 264
  • 265
  • 266
  • 267
  • 268
  • 269
  • 270
  • 271
  • 272
  • 273
  • 274
  • 275
  • 276
  • 277
  • 278
  • 279
  • 280
  • 281
  • 282
  • 283
  • 284
  • 285
  • 286
  • 287
  • 288
  • 289
  • 290
  • 291
  • 292
  • 293
  • 294
  • 295
  • 296
  • 297
  • 298
  • 299
  • 300
  • 301
  • 302
  • 303
  • 304
  • 305
  • 306
  • 307
  • 308
  • 309
  • 310
  • 311
  • 312
  • 313
  • 314
  • 315
  • 316
  • 317
  • 318
  • 319
  • 320
  • 321
  • 322
  • 323
  • 324
  • 325
  • 326
  • 327
  • 328
  • 329
  • 330
  • 331
  • 332
  • 333
  • 334
  • 335
  • 336
  • 337
  • 338
  • 339
  • 340
  • 341
  • 342
  • 343
  • 344
  • 345
  • 346
  • 347
  • 348
  • 349
  • 350
  • 351
  • 352
  • 353
  • 354
  • 355
  • 356
  • 357
  • 358
  • 359
  • 360
  • 361
  • 362
  • 363
  • 364
  • 365
  • 366
  • 367
  • 368
  • 369
  • 370
  • 371
  • 372
  • 373
  • 374
  • 375
  • 376
  • 377
  • 378
  • 379
  • 380
  • 381
  • 382
  • 383
  • 384
  • 385
  • 386
  • 387
  • 388
  • 389
  • 390
  • 391
  • 392
  • 393
  • 394
  • 395
  • 396

3)编写初始化源码仓库脚本server_create.sh

vim server_create.sh 添加
  • 1
#/bin/bashset -x
set -epwd=${PWD}cd /home/gitolite/repositorieswhile read line; doif [ -z "$line" ]; thenecho work_dir not exist !!! 1>&2continuefigit init --bare $line.gitecho ==== $linepwd
done
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

4)初始化空的源码仓库
【在服务器上使用gitolite用户操作】
cat server.txt | ./server_create.sh

5)生成client.txt
使用 cat default.xml | cut -d ‘”’ -f 2 > client.txt
生成client.txt,将无关的字符删除

-1.0
-<manifest>
-yazuo
-..
-ssh
-master
-yazuo
-1
-core/root.mk
-  </project>
-</manifest>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

得到一个本地客户端仓库路径的文本 client.txt

build
abi/cpp
art
bionic
bootable/bootloader/lk
bootable/diskinstaller
bootable/recovery
cts
dalvik
developers/build
developers/samples/android
development
device/asus/deb
device/asus/flo
device/asus/flo-kernel
device/asus/grouper
device/asus/tilapia
device/common
device/generic/armv7-a-neon
device/generic/common
device/generic/goldfish
device/generic/mips
device/generic/mini-emulator-armv7-a-neon
device/generic/mini-emulator-mips
device/generic/mini-emulator-x86
device/generic/x86
device/google/accessory/arduino
device/google/accessory/demokit
device/lge/hammerhead
device/lge/hammerhead-kernel
device/lge/mako
device/lge/mako-kernel
device/sample
device/samsung/manta
docs/source.android.com
external/aac
external/android-clat
external/android-mock
external/ant-glob
external/antlr
external/apache-harmony
external/apache-http
external/apache-xml
external/arduino
external/bison
external/blktrace
external/bluetooth/bluedroid
external/bouncycastle
external/bsdiff
external/bzip2
external/ceres-solver
external/checkpolicy
external/chromium
external/chromium-libpac
external/chromium-trace
external/chromium_org
external/chromium_org/sdch/open-vcdiff
external/chromium_org/testing/gtest
external/chromium_org/third_party/WebKit
external/chromium_org/third_party/angle_dx11
external/chromium_org/third_party/eyesfree/src/android/java/src/com/googlecode/eyesfree/braille
external/chromium_org/third_party/freetype
external/chromium_org/third_party/icu
external/chromium_org/third_party/leveldatabase/src
external/chromium_org/third_party/libjingle/source/talk
external/chromium_org/third_party/libphonenumber/src/phonenumbers
external/chromium_org/third_party/libphonenumber/src/resources
external/chromium_org/third_party/mesa/src
external/chromium_org/third_party/openssl
external/chromium_org/third_party/opus/src
external/chromium_org/third_party/ots
external/chromium_org/third_party/skia/gyp
external/chromium_org/third_party/skia/include
external/chromium_org/third_party/skia/src
external/chromium_org/third_party/smhasher/src
external/chromium_org/third_party/yasm/source/patched-yasm
external/chromium_org/tools/grit
external/chromium_org/tools/gyp
external/chromium_org/v8
external/clang
external/compiler-rt
external/dexmaker
external/dhcpcd
external/dnsmasq
external/doclava
external/dropbear
external/droiddriver
external/e2fsprogs
external/easymock
external/eclipse-basebuilder
external/eclipse-windowbuilder
external/eigen
external/elfutils
external/embunit
external/emma
external/esd
external/expat
external/eyes-free
external/fdlibm
external/flac
external/freetype
external/fsck_msdos
external/ganymed-ssh2
external/gcc-demangle
external/genext2fs
external/giflib
external/google-diff-match-patch
external/grub
external/gtest
external/guava
external/hamcrest
external/harfbuzz
external/harfbuzz_ng
external/hyphenation
external/icu4c
external/iproute2
external/ipsec-tools
external/iptables
external/iputils
external/LaunchPPPoe
external/libifaddrs
external/pppoe
external/javasqlite
external/javassist
external/jdiff
external/jhead
external/jmdns
external/jmonkeyengine
external/jpeg
external/jsilver
external/jsr305
external/junit
external/kernel-headers
external/libcap-ng
external/libffi
external/libgsm
external/liblzf
external/libmtp
external/libnfc-nci
external/libnfc-nxp
external/libnl-headers
external/libogg
external/libpcap
external/libphonenumber
external/libpng
external/libppp
external/libselinux
external/libsepol
external/libusb
external/libusb-compat
external/libvorbis
external/libvpx
external/libxml2
external/libxslt
external/libyuv
external/linux-tools-perf
external/littlemock
external/wide-dhcpv6
external/llvm
external/lzma
external/marisa-trie
external/markdown
external/mdnsresponder
external/mesa3d
external/mksh
external/mockito
external/mockwebserver
external/mp4parser
external/mtpd
external/naver-fonts
external/netcat
external/netperf
external/neven
external/nist-pkits
external/nist-sip
external/noto-fonts
external/oauth
external/objenesis
external/okhttp
external/open-vcdiff
external/opencv
external/openfst
external/openssh
external/openssl
external/oprofile
external/pixman
external/ppp
external/proguard
external/protobuf
external/qemu
external/qemu-pc-bios
external/regex-re2
external/replicaisland
external/robolectric
external/safe-iop
external/scrypt
external/sepolicy
external/sfntly
external/sil-fonts
external/skia
external/smack
external/smali
external/sonivox
external/speex
external/sqlite
external/srec
external/srtp
external/stlport
external/strace
external/stressapptest
external/svox
external/tagsoup
external/tcpdump
external/timezonepicker-support
external/tinyalsa
external/tinycompress
external/tinyxml
external/tinyxml2
external/tremolo
external/v8
external/valgrind
external/webp
external/webrtc
external/wpa_supplicant_8
external/xmlwriter
external/xmp_toolkit
external/yaffs2
external/zlib
external/zxing
frameworks/av
frameworks/base
frameworks/compile/libbcc
frameworks/compile/mclinker
frameworks/compile/slang
frameworks/ex
frameworks/ml
frameworks/bluetooth
frameworks/native
frameworks/opt/calendar
frameworks/opt/colorpicker
frameworks/opt/datetimepicker
frameworks/opt/emoji
frameworks/opt/inputmethodcommon
frameworks/opt/mailcommon
frameworks/opt/mms
frameworks/opt/net/voip
frameworks/opt/photoviewer
frameworks/opt/timezonepicker
frameworks/opt/telephony
frameworks/opt/vcard
frameworks/rs
frameworks/support
frameworks/testing
frameworks/uiautomator
frameworks/volley
frameworks/webview
frameworks/wilhelm
hardware/akm
hardware/broadcom/libbt
hardware/broadcom/wlan
hardware/invensense
hardware/libhardware
hardware/libhardware_legacy
hardware/qcom/audio
hardware/qcom/bt
hardware/qcom/camera
hardware/qcom/display
hardware/qcom/keymaster
hardware/qcom/media
hardware/qcom/msm8960
hardware/qcom/msm8x74
hardware/qcom/power
hardware/qcom/wlan
hardware/ril
hardware/samsung_slsi/exynos5
hardware/ti/omap3
hardware/ti/omap4xxx
hardware/ti/wlan
hardware/ti/wpan
libcore
libnativehelper
ndk
kernel
mediatek
vendor
packages/providers/DrmProvider
packages/apps/DeviceTestApp
packages/apps/BasicSmsReceiver
packages/apps/Bluetooth
packages/apps/Browser
packages/apps/Calculator
packages/apps/Calendar
packages/apps/Camera
packages/apps/Camera2
packages/apps/CellBroadcastReceiver
packages/apps/CertInstaller
packages/apps/Contacts
packages/apps/ContactsCommon
packages/apps/DeskClock
packages/apps/Dialer
packages/apps/Email
packages/apps/Exchange
packages/apps/Gallery
packages/apps/Gallery2
packages/apps/HTMLViewer
packages/apps/InCallUI
packages/apps/KeyChain
packages/apps/Launcher2
packages/apps/Launcher3
packages/apps/LegacyCamera
packages/apps/Mms
packages/apps/Music
packages/apps/MusicFX
packages/apps/Nfc
packages/apps/OneTimeInitializer
packages/apps/PackageInstaller
packages/apps/PhoneCommon
packages/apps/Protips
packages/apps/Provision
packages/apps/QuickSearchBox
packages/apps/Settings
packages/apps/SoundRecorder
packages/apps/SpareParts
packages/apps/SpeechRecorder
packages/apps/Stk
packages/apps/Tag
packages/apps/UnifiedEmail
packages/apps/VideoEditor
packages/apps/VoiceDialer
packages/experimental
packages/inputmethods/LatinIME
packages/inputmethods/OpenWnn
packages/inputmethods/PinyinIME
packages/providers/ApplicationsProvider
packages/providers/CalendarProvider
packages/providers/ContactsProvider
packages/providers/DownloadProvider
packages/providers/MediaProvider
packages/providers/PartnerBookmarksProvider
packages/providers/TelephonyProvider
packages/providers/UserDictionaryProvider
packages/screensavers/Basic
packages/screensavers/PhotoTable
packages/screensavers/WebView
packages/services/Telephony
packages/wallpapers/Basic
packages/wallpapers/Galaxy4
packages/wallpapers/HoloSpiral
packages/wallpapers/LivePicker
packages/wallpapers/MagicSmoke
packages/wallpapers/MusicVisualization
packages/wallpapers/NoiseField
packages/wallpapers/PhaseBeam
pdk
prebuilts/clang/linux-x86/3.1
prebuilts/devtools
prebuilts/eclipse
prebuilts/gcc/darwin-x86/arm/arm-eabi-4.6
prebuilts/gcc/darwin-x86/arm/arm-eabi-4.7
prebuilts/gcc/darwin-x86/arm/arm-linux-androideabi-4.6
prebuilts/gcc/darwin-x86/arm/arm-linux-androideabi-4.7
prebuilts/gcc/darwin-x86/host/i686-apple-darwin-4.2.1
prebuilts/gcc/darwin-x86/mips/mipsel-linux-android-4.6
prebuilts/gcc/darwin-x86/mips/mipsel-linux-android-4.7
prebuilts/gcc/darwin-x86/x86/i686-linux-android-4.6
prebuilts/gcc/darwin-x86/x86/i686-linux-android-4.7
prebuilts/gcc/linux-x86/arm/arm-eabi-4.6
prebuilts/gcc/linux-x86/arm/arm-eabi-4.7
prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.6
prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.7
prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.4.3
prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.6
prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6
prebuilts/gcc/linux-x86/mips/mipsel-linux-android-4.6
prebuilts/gcc/linux-x86/mips/mipsel-linux-android-4.7
prebuilts/gcc/linux-x86/x86/i686-linux-android-4.6
prebuilts/gcc/linux-x86/x86/i686-linux-android-4.7
prebuilts/misc
prebuilts/ndk
prebuilts/python/darwin-x86/2.7.5
prebuilts/python/linux-x86/2.7.5
prebuilts/qemu-kernel
prebuilts/runtime
prebuilts/sdk
prebuilts/tools
sdk
system/mobile_toolkit
system/core
system/extras
system/media
system/netd
system/security
system/vold
tools/external/fat32lib
tools/external/gradle
tools/idea
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182
  • 183
  • 184
  • 185
  • 186
  • 187
  • 188
  • 189
  • 190
  • 191
  • 192
  • 193
  • 194
  • 195
  • 196
  • 197
  • 198
  • 199
  • 200
  • 201
  • 202
  • 203
  • 204
  • 205
  • 206
  • 207
  • 208
  • 209
  • 210
  • 211
  • 212
  • 213
  • 214
  • 215
  • 216
  • 217
  • 218
  • 219
  • 220
  • 221
  • 222
  • 223
  • 224
  • 225
  • 226
  • 227
  • 228
  • 229
  • 230
  • 231
  • 232
  • 233
  • 234
  • 235
  • 236
  • 237
  • 238
  • 239
  • 240
  • 241
  • 242
  • 243
  • 244
  • 245
  • 246
  • 247
  • 248
  • 249
  • 250
  • 251
  • 252
  • 253
  • 254
  • 255
  • 256
  • 257
  • 258
  • 259
  • 260
  • 261
  • 262
  • 263
  • 264
  • 265
  • 266
  • 267
  • 268
  • 269
  • 270
  • 271
  • 272
  • 273
  • 274
  • 275
  • 276
  • 277
  • 278
  • 279
  • 280
  • 281
  • 282
  • 283
  • 284
  • 285
  • 286
  • 287
  • 288
  • 289
  • 290
  • 291
  • 292
  • 293
  • 294
  • 295
  • 296
  • 297
  • 298
  • 299
  • 300
  • 301
  • 302
  • 303
  • 304
  • 305
  • 306
  • 307
  • 308
  • 309
  • 310
  • 311
  • 312
  • 313
  • 314
  • 315
  • 316
  • 317
  • 318
  • 319
  • 320
  • 321
  • 322
  • 323
  • 324
  • 325
  • 326
  • 327
  • 328
  • 329
  • 330
  • 331
  • 332
  • 333
  • 334
  • 335
  • 336
  • 337
  • 338
  • 339
  • 340
  • 341
  • 342
  • 343
  • 344
  • 345
  • 346
  • 347
  • 348
  • 349
  • 350
  • 351
  • 352
  • 353
  • 354
  • 355
  • 356
  • 357
  • 358
  • 359
  • 360
  • 361
  • 362
  • 363
  • 364
  • 365
  • 366
  • 367
  • 368
  • 369
  • 370
  • 371
  • 372
  • 373
  • 374
  • 375
  • 376
  • 377
  • 378
  • 379
  • 380
  • 381
  • 382
  • 383
  • 384
  • 385
  • 386
  • 387
  • 388
  • 389
  • 390
  • 391
  • 392
  • 393
  • 394
  • 395
  • 396

6)编写初始化源码仓库脚本client_create.sh
vim client_create.sh 添加:
①适用于不带任何 .git 或者.svn 的纯净Android 源码

#/bin/bashset -xset -epwd=${PWD}while read line; doline1=${line%%/*}if [ -z "$line" ]; thenecho work_dir not exist !!! 1>&2continuefiif [ $(ls -A $pwd/$line | wc -l) -eq 0 ]; thenecho work_dir empty !!! 1>&2continuefiworkdir=$pwd/$lineecho ==== $workdircd $workdirrm -rf .gitgit init .  1>&2git add . -f 1>&2git commit -m "Initial commit" 1>&2if [ "$line1" = "device" ]; thengit push --set-upstream git://192.168.100.249/yazuo/$line.git masterelif [ "$line1" = "kernel" ]; thengit push --set-upstream git://192.168.100.249/yazuo/$line.git masterelif [ "$line1" = "mediatek" ]; thengit push --set-upstream git://192.168.100.249/yazuo/$line.git masterelif [ "$line1" = "vendor" ]; thengit push --set-upstream git://192.168.100.249/yazuo/$line.git masterelsegit push --set-upstream git://192.168.100.249/yazuo/platform/$line.git masterficd -
done
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41

②适合本身已有.git的android源码

#/bin/bashset -x
set -epwd=${PWD}
while read line; doline1=${line%%/*}if [ -z "$line"  ]; thenecho work_dir not exist !!! 1>&2continuefiif [ $(ls -A $pwd/$line | wc -l) -eq 0  ]; thenecho work_dir empty !!! 1>&2continuefiworkdir=$pwd/$lineecho ==== $workdircd $workdirgit checkout -B master yazuo/masterif [ "$line1" = "device"  ]; thengit push --set-upstream git://192.168.100.249/yazuo/$line.git masterelif [ "$line1" = "kernel"  ]; thengit push --set-upstream git://192.168.100.249/yazuo/$line.git masterelif [ "$line1" = "mediatek"  ]; thengit push --set-upstream git://192.168.100.249/yazuo/$line.git masterelif [ "$line1" = "vendor"  ]; thengit push --set-upstream git://192.168.100.249/yazuo/$line.git masterelsegit push --set-upstream git://192.168.100.249/yazuo/platform/$line.git masterficd -
done
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34

注意:
①之前写成了

 git push --set-upstream gitolite://192.168.100.249/yazuo/platform/$line.git master
  • 1

报错:fatal: Unable to find remote helper for ‘gitolite’。犯了低级错误引以为戒!

②还有写成了

git push --set-upstream ssh://gitolite@192.168.100.249/yazuo/platform/$line.git master
  • 1

也不行,这样写需要把所有的git工程都加到gitolite-admin/gitolite.conf文件中太麻烦!

7)初始化本地源码仓库,并推送到远程服务器仓库
【在xia私钥计算机上操作】
在本地android源码目录下执行下面命令:

cat client.txt | ./client_create.sh
  • 1

耐心等待半小时左右,这样就把本地Android源码推送到服务器端的仓库中了。至此,服务器上的android源码版本库已经完全OK!

4.使用repo下载服务器上的android源码
(1)下载 git-repo
【在xia私钥计算机上操作】
在/home/xia目录下执行:

git clone https://gerrit.googlesource.com/git-repo git-repo.git 
  • 1

如果上面的地址不行,自己就在网上搜一个可以下载的。

cd git-repo.git
vim repo
  • 1
  • 2

修改 repo

REPO_URL = 'https://gerrit.googlesource.com/git-repo'
REPO_REV = 'stable'
改为
REPO_URL = 'git://192.168.100.182/git-repo.git'
REPO_REV = 'master'  
  • 1
  • 2
  • 3
  • 4
  • 5

1)REPO_URL 指的是 repo 所调用和管理引用仓库

2)REPO_REV 指的是仓库分支,进入git-repo.git, 使用命令:git branch 查看,我的是 master 分支。

(2)将 git-repo.git 目录下的 repo 拷贝到 ~/bin/

mkdir ~/bin
cp repo ~/bin/
chmod 777 ~/bin/repo
  • 1
  • 2
  • 3

(3)测试下载源码

cd ~/
mkdir yazuotest
cd yazuotest
repo init -u git://192.168.100.249/manifest.git
repo sync
  • 1
  • 2
  • 3
  • 4
  • 5

注意:可以用 -b 参数来指定某个manifest 分支。

repo init -u git://192.168.100.249/manifest.git -b master
  • 1

等待同步完成,大功告成!!!

Gitolite + repo 搭建安卓源码开发环境相关推荐

  1. Ubuntu12.10-amd64系统上搭建Android4.2(JellyBean)源码开发环境

    注意:1) 从android4.1开始,编译Android源码必须使用ubuntu 64位系统,所以请预装Ubuntu64位操作系统! 建议去ubuntu官网下载 ubuntu-desktop-### ...

  2. 从零开始搭建Ubuntu 环境下的Android 源码开发环境

    本文从一个干净的Ubuntu 10.04 操作系统出发,一步一步引导你搭建自己的基于eclipse IDE 的Android源码开发环境. 正文会包含一下这些内容: 获得源码 编译源码准备工作 编译工 ...

  3. 【深入浅出 Yarn 架构与实现】1-2 搭建 Hadoop 源码阅读环境

    本文将介绍如何使用 idea 搭建 Hadoop 源码阅读环境.(默认已安装好 Java.Maven 环境) 一.搭建源码阅读环境 一)idea 导入 hadoop 工程 从 github 上拉取代码 ...

  4. 安卓编译安装python_安卓源码编译环境搭建

    本编译环境以 Ubuntu 14.04 系统为例 修改软件源(可选) 安装相关依赖 安装Android编译工具JDK 一. 修改软件源(可选) : sudo gedit /etc/apt/source ...

  5. jdk javac运行不了_Intellij IDEA搭建jdk源码阅读环境

    一.找到源码位置 直接找到jdk安装的目录,会看到src.zip的压缩包,这里面就是jdk的源码,例如下图: 在这里解压. 第一次尝试建议使用9或更早版本jdk的源码,否则易造成卡死. 二.Intel ...

  6. Ubuntu18.04搭建Android源码编译环境

    一.前言 使用Ubuntu18.04搭建Android源码的编译,本文是参考Android系统源码编译文章撰写的. 二.步骤 1.下载Android源码.Ubuntu环境搭建.git安装请参考其他文章 ...

  7. Mac搭建JDK源码阅读环境

    点赞再看,养成习惯,微信公众号搜索[虚竹讲程序经],获取更多技术干货! 想要读懂JDK源码,需要在自己电脑上搭建JDK的源码阅读环境,正所谓,工欲善其事,必先利其器.下面演示如何在Mac上结合Idea ...

  8. 开源arduino可视化编辑器Ardublockly源码开发环境搭建

    linux环境下开源arduino可视化编辑器Ardublockly二次开发搭建 1 安装 1.1 系统环境搭建 在Ubuntu上安装Python 2的Tkinter: sudo apt-get in ...

  9. 非常实用,IDEA 搭建JDK源码学习环境(可修改+断点+笔记)

    点击关注公众号,实用技术文章及时了解 来源:chenxiao.blog.csdn.net/article/details/104369824 在学习JDK源码的时候,自然少不了代码的调试. 阅读与调试 ...

最新文章

  1. HTTP服务器端常用推送技术
  2. Vue 组件库 heyui@1.18.0 发布,新增地址选择、图片预览组件
  3. PHPRAP v1.0.8 版本发布,安装时数据库不存在自动创建
  4. 哥本哈根能效中心:阿里云用清洁的计算能力改变世界
  5. java国际化程序创建属性文件,Java程序国际化学习代码一
  6. java.lang.Class.getDeclaredMethod()方法详解
  7. pycharm导入python环境是空的_PyCharm导入python项目并配置虚拟环境的教程详解
  8. ospf 单区域配置
  9. javascript 开发_25个新JavaScript开发人员的免费资源
  10. 基于人脸识别的课堂签到管理系统(二)---摄像头显示
  11. 大数据的特性优势有哪些
  12. 英国python工资_在伦敦金融城当数据分析师-Python篇
  13. GitHub Windows 客户端使用教程
  14. x86汇编--0.资料汇总
  15. Securing Gateways with HTTPS(0.8)
  16. 论文阅读 (九):A survey on instance selection for active learning (2012)
  17. PIPI OJ 1203: PIPI发工资(拓扑排序)
  18. 【JY|理念】结构概念设计之(设计理念进展)
  19. css案例2——黑白滤镜
  20. php报表插件,excel插件

热门文章

  1. 笔记本做扩展屏的相关问题 —— spacedesk ,快捷键
  2. JavaScript-0811
  3. ​RV050蜗轮蜗杆减速机可以配多大功率的电机?
  4. Redis实战 - 09 Redis BitMaps 实现用户签到,统计签到次数,统计签到情况等功能
  5. 直流电能表在充电桩计量行业的应用
  6. [jzoj 3383] 【NOIP2013模拟】太鼓达人 {欧拉回路+暴力}
  7. 一个不错的培训班,廊坊师范学院信息技术提高班
  8. 分销主机-linux站点创建,在linux中安装与使用KeyHelp虚拟主机分销面板
  9. 那些你可能不知道的百度文库/网盘快速下载工具
  10. 求一款简单高效的快递查询软件