由于代码下载不完全报错的处理方法若干[转]

本文详细介绍了在编译Android源码过程中遇到的LOCAL_SDK_VERSION和LOCAL_NDK_VERSION错误及其解决方法。通过检查预构建文件夹并使用正确的git命令同步代码,确保所有必需的组件都已正确安装。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

build/core/java.mk:20: *** dalvik/dexgen: Invalid LOCAL_SDK_VERSION '4' Choices are: current .  Stop.以及其类似的错误:

user@Ubuntu1004:~/omap3/ics-google-re/mydriod$ make

============================================

PLATFORM_VERSION_CODENAME=AOSP

PLATFORM_VERSION=4.0.3.0.2.0.1.0

TARGET_PRODUCT=full

TARGET_BUILD_VARIANT=eng

TARGET_BUILD_TYPE=release

TARGET_BUILD_APPS=

TARGET_ARCH=arm

TARGET_ARCH_VARIANT=armv7-a

HOST_ARCH=x86

HOST_OS=linux

HOST_BUILD_TYPE=release

BUILD_ID=OPENMASTER

OUT_DIR=out

===========================================

/bin/bash: line 0: cd: cts/tools/cts-native-xml-generator/src/res: No such file or directory

build/core/java.mk:20: *** dalvik/dexgen: Invalid LOCAL_SDK_VERSION '4' Choices are: current .  Stop.

 

解决:

first try: "rm -rf prebuilt ; repo sync -l prebuilt"

If that's still not enough: "rm -rf prebuilt ; repo sync prebuilt"

If that's still not enough and you have a solid internet connection:

"rm -rf prebuilt .repo/projects/prebuilt.git ; repo sync prebuilt".

-----------------------------------------------

Invalid LOCAL_NDK_VERSION '8' Choices are,Invalid LOCAL_SDK_VERSION '8' Choices are的解决方法 

 

这应该是更准确的解决方案!!!

Invalid LOCAL_NDK_VERSION '8' Choices are 在编译android源码的时候这个问题一直困扰我好久了。网上也查了很多无果,于是终于狠下心来想看看到底怎么回事,看了下出错的build/core/binary.mk文件,原来是因为项目中指定的NDK_VERSION与TARGET_AVAILABLE_NDK_VERSIONS不匹配造成的,那怎么TARGET_AVAILABLE_NDK_VERSIONS又是哪里来的呢?

 

在build/core/config.mk中可以看到

HISTORICAL_SDK_VERSIONS_ROOT := $(TOPDIR)prebuilt/sdk

HISTORICAL_NDK_VERSIONS_ROOT := $(TOPDIR)prebuilt/ndk

TARGET_AVAILABLE_SDK_VERSIONS := current $(call numerically_sort,\

    $(patsubst $(HISTORICAL_SDK_VERSIONS_ROOT)/%/android.jar,%, \

    $(wildcard $(HISTORICAL_SDK_VERSIONS_ROOT)/*/android.jar)))

TARGET_AVAILABLE_NDK_VERSIONS := $(call numerically_sort,\

    $(patsubst $(HISTORICAL_NDK_VERSIONS_ROOT)/android-ndk-r%,%, \

    $(wildcard $(HISTORICAL_NDK_VERSIONS_ROOT)/android-ndk-r*)))

 

在prebuilt文件夹里看了下。。。好吧,果然是少了不少东西,通过git 

clonegit://android.git.kernel.org/platform/prebuilt.git

推荐用 git fetch git://android.git.kernel.org/platform/prebuilt.git可以支持断点续传。

这个恶心的问题终于算是解决了。

------------------------------------------------------------

今天在ubuntu上编译Android源码,make一开始就遇到了sdk版本的错误,查了好久。。

后来发现,原来我取的代码不全,在prebuild项目中,少了一些文件。奇怪的是我用repo sync prebuild也没用,只有先把prebuild目录删除后,再执行repo sync prebuild,才把代码取完整,编译通过。

其实用repo status就可以看到有哪些文件缺失了(行首带-D标志的代表缺失文件)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值