git 使用下载android源码

sudo apt-get install git-core gnupg gperf libsdl-dev libesd0-dev lib64z1-dev bison flex
sudo apt-get install libwxgtk2.6-dev zip curl minicom tftpd
sudo apt-get install uboot-mkimage libx11-dev libncurses-dev
sudo apt-get install expect bison build-essential flex zlib1g-dev
sudo apt-get install gperf
sudo apt-get install libgl1-mesa-dev
sudo apt-get install zlib1g-dev
sudo apt-get install libncurses5-dev
sudo apt-get install libgl1-mesa-dev
sudo apt-get update
 

Android源码编译make的各类错误解决方案汇总

https://blog.youkuaiyun.com/u013541140/article/details/52027569

[  2% 1505/69566] Docs droiddoc: out/target/common/docs/ahat
FAILED: out/target/common/docs/ahat-timestamp 
/bin/bash -c "(rm -rf ) && (mkdir -p out/host/common/obj/JAVA_LIBRARIES/ahat_intermediates/ ) && (rm -f  out/host/common/obj/JAVA_LIBRARIES/ahat_intermediates/droiddoc-src-list ) && (touch  out/host/common/obj/JAVA_LIBRARIES/ahat_intermediates/droiddoc-src-list ) && (echo -n 'art/tools/ahat/src/main/com/android/ahat/AhatHandler.java art/tools/ahat/src/main/com/android/ahat/AhatHttpHandler.java art/tools/ahat/src/main/com/android/ahat/BitmapHandler.java art/tools/ahat/src/main/com/android/ahat/Column.java art/tools/ahat/src/main/com/android/ahat/Doc.java art/tools/ahat/src/main/com/android/ahat/DocString.java art/tools/ahat/src/main/com/android/ahat/DominatedList.java art/tools/ahat/src/main/com/android/ahat/HeapTable.java art/tools/ahat/src/main/com/android/ahat/HtmlDoc.java art/tools/ahat/src/main/com/android/ahat/HtmlEscaper.java art/tools/ahat/src/main/com/android/ahat/Main.java art/tools/ahat/src/main/com/android/ahat/Menu.java art/tools/ahat/src/main/com/android/ahat/ObjectHandler.java art/tools/ahat/src/main/com/android/ahat/ObjectsHandler.java art/tools/ahat/src/main/com/android/ahat/OverviewHandler.java art/tools/ahat/src/main/com/android/ahat/Query.java art/tools/ahat/src/main/com/android/ahat/RootedHandler.java art/tools/ahat/src/main/com/android/ahat/SiteHandler.java art/tools/ahat/src/main/com/android/ahat/SitePrinter.java art/tools/ahat/src/main/com/android/ahat/SizeTable.java art/tools/ahat/src/main/com/android/ahat/StaticHandler.java art/tools/ahat/src/main/com/android/ahat/SubsetSelector.java art/tools/ahat/src/main/com/android/ahat/Summarizer.java art/tools/ahat/src/main/com/android/ahat/dominators/DominatorsComputation.java art/tools/ahat/src/main/com/android/ahat/heapdump/AhatArrayInstance.java art/tools/ahat/src/main/com/android/ahat/heapdump/AhatClassInstance.java art/tools/ahat/src/main/com/android/ahat/heapdump/AhatClassObj.java art/tools/ahat/src/main/com/android/ahat/heapdump/AhatHeap.java art/tools/ahat/src/main/com/android/ahat/heapdump/AhatInstance.java art/tools/ahat/src/main/com/android/ahat/heapdump/AhatPlaceHolderClassObj.java art/tools/ahat/src/main/com/android/ahat/heapdump/AhatPlaceHolderInstance.java art/tools/ahat/src/main/com/android/ahat/heapdump/AhatSnapshot.java art/tools/ahat/src/main/com/android/ahat/heapdump/Diff.java art/tools/ahat/src/main/com/android/ahat/heapdump/DiffFields.java art/tools/ahat/src/main/com/android/ahat/heapdump/Diffable.java art/tools/ahat/src/main/com/android/ahat/heapdump/DiffedFieldValue.java art/tools/ahat/src/main/com/android/ahat/heapdump/DominatorReferenceIterator.java art/tools/ahat/src/main/com/android/ahat/heapdump/Field.java art/tools/ahat/src/main/com/android/ahat/heapdump/FieldValue.java art/tools/ahat/src/main/com/android/ahat/heapdump/HprofFormatException.java art/tools/ahat/src/main/com/android/ahat/heapdump/Instances.java art/tools/ahat/src/main/com/android/ahat/heapdump/Parser.java art/tools/ahat/src/main/com/android/ahat/heapdump/PathElement.java art/tools/ahat/src/main/com/android/ahat/heapdump/Reference.java art/tools/ahat/src/main/com/android/ahat/heapdump/RootType.java art/tools/ahat/src/main/com/android/ahat/heapdump/Site.java art/tools/ahat/src/main/com/android/ahat/heapdump/Size.java art/tools/ahat/src/main/com/android/ahat/heapdump/SkipNullsIterator.java art/tools/ahat/src/main/com/android/ahat/heapdump/Sort.java art/tools/ahat/src/main/com/android/ahat/heapdump/SuperRoot.java art/tools/ahat/src/main/com/android/ahat/heapdump/Type.java art/tools/ahat/src/main/com/android/ahat/heapdump/Value.java art/tools/ahat/src/main/com/android/ahat/proguard/ProguardMap.java ' >>  out/host/common/obj/JAVA_LIBRARIES/ahat_intermediates/droiddoc-src-list ) && (for d in  out/host/common/obj/JAVA_LIBRARIES/ahat_intermediates/src  ; do find \$d -name '*.java' -and -not -name '.*' >> out/host/common/obj/JAVA_LIBRARIES/ahat_intermediates/droiddoc-src-list 2> /dev/null ; done ; true ) && (out/soong/host/linux-x86/bin/zipsync -d out/host/common/obj/JAVA_LIBRARIES/ahat_intermediates/srcjars -l out/host/common/obj/JAVA_LIBRARIES/ahat_intermediates/droiddoc-srcjar-list -f \"*.java\" ) && ((         prebuilts/jdk/jdk9/linux-x86/bin/javadoc                 -encoding UTF-8 -source 1.8 \\@out/host/common/obj/JAVA_LIBRARIES/ahat_intermediates/droiddoc-src-list \\@out/host/common/obj/JAVA_LIBRARIES/ahat_intermediates/droiddoc-srcjar-list                 -J-Xmx1600m -J-XX:-OmitStackTraceInFastThrow -XDignore.symbol.file                 -quiet -doclet com.google.doclava.Doclava -docletpath out/host/linux-x86/framework/jsilver.jar:out/host/linux-x86/framework/doclava.jar                 -templatedir external/doclava/res/assets/templates-sdk                                                                     -sourcepath art/tools/ahat                 -d out/target/common/docs/ahat                 -hdf page.build PQ1A.190105.004-\$(cat out/build_number.txt) -hdf page.now \"\$(date -d @\$(cat out/build_date.txt) \"+%d %b %Y %k:%M\")\" -stubpackages com.android.ahat:com.android.ahat.* -api out/host/common/obj/JAVA_LIBRARIES/ahat_intermediates/ahat_api.txt -removedApi out/host/common/obj/JAVA_LIBRARIES/ahat_intermediates/ahat_removed_api.txt                          && touch -f out/target/common/docs/ahat-timestamp ) || (rm -rf out/target/common/docs/ahat out/host/common/obj/JAVA_LIBRARIES/ahat_intermediates/droiddoc-src-list; exit 45) )"
javadoc: warning - The old Doclet and Taglet APIs in the packages
com.sun.javadoc, com.sun.tools.doclets and their implementations
are planned to be removed in a future JDK release. These
components have been superseded by the new APIs in jdk.javadoc.doclet.
Users are strongly recommended to migrate to the new APIs.
javadoc: error - In doclet class com.google.doclava.Doclava,  method start has thrown an exception java.lang.reflect.InvocationTargetException
java.lang.IllegalStateException: Error loading jar file.
    at com.google.doclava.JarUtils.jarForClass(JarUtils.java:47)
    at com.google.doclava.Doclava.writeAssets(Doclava.java:1119)
    at com.google.doclava.Doclava.start(Doclava.java:508)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:564)
    at jdk.javadoc/com.sun.tools.javadoc.main.DocletInvoker.invoke(DocletInvoker.java:332)
    at jdk.javadoc/com.sun.tools.javadoc.main.DocletInvoker.start(DocletInvoker.java:211)
    at jdk.javadoc/com.sun.tools.javadoc.main.Start.parseAndExecute(Start.java:453)
    at jdk.javadoc/com.sun.tools.javadoc.main.Start.begin(Start.java:238)
    at jdk.javadoc/com.sun.tools.javadoc.main.Start.begin(Start.java:224)
    at jdk.javadoc/com.sun.tools.javadoc.Main.execute(Main.java:173)
    at jdk.javadoc/jdk.javadoc.internal.tool.Start.begin(Start.java:411)
    at jdk.javadoc/jdk.javadoc.internal.tool.Start.begin(Start.java:340)
    at jdk.javadoc/jdk.javadoc.internal.tool.Main.execute(Main.java:63)
    at jdk.javadoc/jdk.javadoc.internal.tool.Main.main(Main.java:52)
Caused by: java.nio.file.NoSuchFileException: /media/yuhang/%E6%9B%BE%E5%AE%87%E8%88%AA/%E6%BA%90%E4%BB%A3%E7%A0%81code/aosp/out/host/linux-x86/framework/doclava.jar
    at java.base/sun.nio.fs.UnixException.translateToIOException(UnixException.java:92)
    at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111)
    at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:116)
    at java.base/sun.nio.fs.UnixFileAttributeViews$Basic.readAttributes(UnixFileAttributeViews.java:55)
    at java.base/sun.nio.fs.UnixFileSystemProvider.readAttributes(UnixFileSystemProvider.java:145)
    at java.base/sun.nio.fs.LinuxFileSystemProvider.readAttributes(LinuxFileSystemProvider.java:99)
    at java.base/java.nio.file.Files.readAttributes(Files.java:1755)
    at java.base/java.util.zip.ZipFile$Source.get(ZipFile.java:951)
    at java.base/java.util.zip.ZipFile.<init>(ZipFile.java:216)
    at java.base/java.util.zip.ZipFile.<init>(ZipFile.java:148)
    at java.base/java.util.jar.JarFile.<init>(JarFile.java:324)
    at java.base/java.util.jar.JarFile.<init>(JarFile.java:295)
    at java.base/java.util.jar.JarFile.<init>(JarFile.java:234)
    at com.google.doclava.JarUtils.jarForClass(JarUtils.java:45)
    ... 16 more
1 error
[  2% 1512/69566] host C++: memory_rep...as/memory_replay/tests/ThreadsTest.cpp
ninja: build stopped: subcommand failed.
09:20:07 ninja failed with: exit status 1
build/make/core/main.mk:21: recipe for target 'run_soong_ui' failed
make: *** [run_soong_ui] Error 1
 

AOSP代码编译hikey版本出错修改方法

https://www.veryarm.com/88028.html

2、安装android.com中指定的安装包

Installing required packages (Ubuntu 14.04)

You will need a 64-bit version of Ubuntu. Ubuntu 14.04 is recommended.

$ sudo apt-get install git-core gnupg flex bison gperf build-essential

zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386

lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev ccache

libgl1-mesa-dev libxml2-utils xsltproc unzip

3、安装下面两个安装包:

sudo apt-get install aptitude

sudo aptitude install libcurl4-openssl-dev nss-updatedb

 

[quote] [Android] How to resolve make error out/target/common/docs/api-stubs-timestam

 

 

Solution:

URL

http://grokbase.com/t/gg/android-building/132pnmn6m5/droiddoc-error-when-building-sdk-addon

 

vi build/core/droiddoc.mk

comment the line "@mkdir -p $(dir $@)"

 

##
##
## standard doclet only
##
##
$(full_target): $(full_src_files) $(full_java_lib_deps)
        @echo Docs javadoc: $(PRIVATE_OUT_DIR)
        @#mkdir -p $(dir $@)
        @mkdir -p $@

An error comes while trying to build android

Docs droiddoc: out/target/common/docs/api-stubs

/bin/bash: line 18: 30598 Killed                  javadoc \@out/target/common/obj/JAVA_LIBRARIES/api-stubs_intermediates/droiddoc-src-list -J-Xmx1280m -quiet -doclet com.google.doclava.Doclava -docletpath out/host/linux-x86/framework/jsilver.jar:out/host/linux-x86/framework/doclava.jar -templatedir build/tools/droiddoc/templates-sdk -htmldir frameworks/base/docs/html -bootclasspath /usr/lib/jvm/java-6-oracle/lib/../jre/lib/rt.jar -classpath out/target/common/obj/JAVA_LIBRARIES/bouncycastle_intermediates/classes.jar:out/target/common/obj/JAVA_LIBRARIES/core_intermediates/classes.jar:out/target/common/obj/JAVA_LIBRARIES/ext_intermediates/classes.jar:out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes.jar:out/target/common/obj/JAVA_LIBRARIES/mms-common_intermediates/classes.jar:out/target/common/obj/JAVA_LIBRARIES/telephony-common_intermediates/classes.jar:out/target/common/obj/JAVA_LIBRARIES/voip-common_intermediates/classes.jar -sourcepath frameworks/base/core/java:frameworks/base/graphics/java:frameworks/base/location/java:frameworks/base/media/java:frameworks/base/media/mca/effect/java:frameworks/base/media/mca/filterfw/java:frameworks/base/media/mca/filterpacks/java:frameworks/base/drm/java:frameworks/base/opengl/java:frameworks/base/sax/java:frameworks/base/telephony/java:frameworks/base/wifi/java:frameworks/base/keystore/java:out/target/common/obj/JAVA_LIBRARIES/bouncycastle_intermediates/classes.jar:out/target/common/obj/JAVA_LIBRARIES/core_intermediates/classes.jar:out/target/common/obj/JAVA_LIBRARIES/ext_intermediates/classes.jar:out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes.jar:out/target/common/obj/JAVA_LIBRARIES/mms-common_intermediates/classes.jar:out/target/common/obj/JAVA_LIBRARIES/telephony-common_intermediates/classes.jar:out/target/common/obj/JAVA_LIBRARIES/voip-common_intermediates/classes.jar -d out/target/common/docs/api-stubs -hdf page.build JWR66V-eng.root.20140402.230813 -hdf page.now "02 Apr 2014 23:13" -knowntags ./frameworks/base/docs/knowntags.txt -since prebuilts/sdk/api/1.xml 1 -since prebuilts/sdk/api/2.xml 2 -since prebuilts/sdk/api/3.xml 3 -since prebuilts/sdk/api/4.xml 4 -since prebuilts/sdk/api/5.xml 5 -since prebuilts/sdk/api/6.xml 6 -since prebuilts/sdk/api/7.xml 7 -since prebuilts/sdk/api/8.xml 8 -since prebuilts/sdk/api/9.xml 9 -since prebuilts/sdk/api/10.xml 10 -since prebuilts/sdk/api/11.xml 11 -since prebuilts/sdk/api/12.xml 12 -since prebuilts/sdk/api/13.xml 13 -since prebuilts/sdk/api/14.txt 14 -since prebuilts/sdk/api/15.txt 15 -since prebuilts/sdk/api/16.txt 16 -since prebuilts/sdk/api/17.txt 17 -since prebuilts/sdk/api/18.txt 18 -werror -hide 113 -overview frameworks/base/core/java/overview.html -hdf sdk.version 4.2 -hdf sdk.rel.id 1 -hdf sdk.preview 0 -stubs out/target/common/obj/JAVA_LIBRARIES/android_stubs_current_intermediates/src -api out/target/common/obj/PACKAGING/public_api.txt -nodocs
make: *** [out/target/common/docs/api-stubs-timestamp] Error 45

 

对于出现问题的,出现内存有问题的:

ninja fatal error: runtime: out of memory

需要修改swap空间:

通过free -m

看到问题swap空间为0,

需要设置swap空间

 sudo dd if=/dev/zero of=/swap_file bs=1M count=4000
  sudo  mkswap /swap_file
 sudo swapon /swap_file
  sudo gedit /etc/fstab
/swap_file swap swap default 0 0

dd: failed to open '/swapfile': Text file busy 如下图:

这个时候你只需要运行 sudo swapoff -a 即可解决。然后继续创建交换分区即可。

android source code compile: 

export LC_ALL=C

source  build/envsetup.sh

 lunch aosp_arm-eng

make -j8

 $ make -j4
build/core/main.mk:45: ********************************************************************************
build/core/main.mk:46: *  You are using version 4.1 of make.
build/core/main.mk:47: *  Android can only be built by versions 3.81 and 3.82.
build/core/main.mk:48: *  see https://source.android.com/source/download.html
build/core/main.mk:49: ********************************************************************************
build/core/main.mk:50: *** stopping.  Stop.
gedit build/core/main.mk

ifeq (0,$(shell expr $$(echo $(MAKE_VERSION) | sed "s/[^0-9\.].*//") = 4.1))

endif

 

GitError: --force-sync not enabled; cannot overwrite a local work tree. If you're comfortable with the possibility of losing the work tree's git metadata, use `repo sync --force-sync art` to proceed.

Checking out project platform/abi/cpp
Syncing work tree:   0% (1/412)Checking out project platform/art
error: Cannot checkout platform/art: ManifestInvalidRevisionError: revision refs/tags/android-4.4.4_r1 in platform/art not found

repo sync --force-sync -j4

download part code:

http://androidxref.com/
 

repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-4.4.4_r1

android-4.4.4_r1


repo sync platform/frameworks/base
repo sync platform/packages/apps/Bluetooth
repo sync platform/hardware/libhardware
repo sync platform/external/bluetooth/bluedroid

tar -czf andorid-4.4.4_r1.tar.gz packages/apps/Bluetooth external/bluetooth/bluedroid frameworks/base/core/java/android/bluetooth  hardware/libhardware/include/hardware

 

repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-9.0.0_r3

android-9.0.0_r3


repo sync platform/frameworks/base
repo sync platform/packages/apps/Bluetooth
repo sync platform/system/bt


tar -czf andorid-9.0.0_r3.tar.gz packages/apps/Bluetooth frameworks/base/core/java/android/bluetooth  system/bt

需要注意的.mk或makefile

build/core/main.mk

. build/envsetup.sh 
 

git 设置和取消代理

 

#mac<br>git config --global https.proxy http://127.0.0.1:1086

 

git config --global https.proxy https://127.0.0.1:1086

 

git config --global --unset http.proxy

 

git config --global --unset https.pro

https://mirrors.tuna.tsinghua.edu.cn/help/AOSP/     参考这个链接,使用以下命令

wget -c https://mirrors.tuna.tsinghua.edu.cn/aosp-monthly/aosp-latest.tar # 下载初始化包
tar xf aosp-latest.tar
cd AOSP   # 解压得到的 AOSP 工程目录
# 这时 ls 的话什么也看不到,因为只有一个隐藏的 .repo 目录
repo sync # 正常同步一遍即可得到完整目录
# 或 repo sync -l 仅checkout代码

出现以下问题:

error: .repo/manifests/: contains uncommitted changes

解决方法:

1、rm -rf .repo/manifests

 重新repo sync

linux中将一个文件夹的所以内容复制到另外一个文件夹,cp 源文件夹 -r 目标文件夹

edit ~/.bashrc

export PATH=$PATH:~/bin
export REPO_URL='https://gerrit-googlesource.lug.ustc.edu.cn/git-repo'
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${PATH}:${JAVA_HOME}/bin

 

编译android源码的方式:以Android 4.1版本为例:

 build/envsetup.sh 
 mmm hardware/libhardware_legacy/power/
出现以下问题,需要修改版本

编译源码时,Android can only be built by versions 3.81 and 3.82解决方法:https://blog.youkuaiyun.com/iteye_19583/article/details/82571792 

2.修改build/core/main.mk文件:
vi build/core/main.mk:      参考 https://blog.youkuaiyun.com/fightfightfight/article/details/79696460

出现安装jdk的问题

 

   https://www.cnblogs.com/a2211009/p/4265225.html     ubuntu下安装jdk,由于oracle的jdk需要注册账号安装,安装openjdk

Ubuntu安装openjdk8

  1. sudo apt-get update
  2. sudo apt-get install openjdk-8-jdk
  3. sudo apt-get install openjdk-8-jre
  4. 通过 which java 找到java安装路径
  5. 添加环境变量

    sudo vim ~/.bashrc
    在尾部加入
    export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
    export JRE_HOME=${JAVA_HOME}/jre
    export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
    export PATH=${PATH}:${JAVA_HOME}/bin
  6. 重启

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值