使用jdk1.6 make sdk时发生的错误

本文介绍了解决DroidDoc在编译过程中遇到的特定错误的方法,通过修改droiddoc.mk文件并设置正确的bootclasspath指向rt.jar,避免了因Java版本不兼容导致的问题。

 

Docs droiddoc: out/target/common/docs/dx 
         javadoc: error - In doclet class DroidDoc, method start has thrown an 
         exception java.lang.reflect.InvocationTargetException 
         com.sun.tools.javac.code.Symbol$CompletionFailure: class file for 
         sun.util.resources.OpenListResourceBundle not found 

找了一下发现,网上的解决办法都是安装java 1.5去编译,偶又不想在系统上再装一个版本jdk了,研究了一下最新的版本anroid-AOSP代码已经没有这个问题了.

发现是在build/core/droiddoc.mk中添加了 -bootclasspath , 指定了rt.jar的路径。

 

--- build/core/droiddoc.mk	2010-12-02 15:57:04.595615674 +0800
+++ ../android_work1/build/core/droiddoc.mk	2010-12-02 15:23:52.579616182 +0800
@@ -57,6 +57,13 @@
 $(full_target): PRIVATE_CLASSPATH:=$(LOCAL_CLASSPATH)
 full_java_lib_deps :=
 
+$(full_target): PRIVATE_BOOTCLASSPATH :=
+ifeq ($(BUILD_OS),linux)
+# You have to set bootclasspath for javadoc manually on linux since Java 6.
+host_jdk_rt_jar := $(dir $(HOST_JDK_TOOLS_JAR))../jre/lib/rt.jar
+$(full_target): PRIVATE_BOOTCLASSPATH := $(host_jdk_rt_jar)
+endif
+
 ifneq ($(LOCAL_IS_HOST_MODULE),true)
 
 ifeq ($(LOCAL_JAVA_LIBRARIES),)
@@ -165,6 +172,7 @@
                 -templatedir $(PRIVATE_CUSTOM_TEMPLATE_DIR) \
                 -templatedir $(PRIVATE_TEMPLATE_DIR) \
                 $(PRIVATE_DROIDDOC_HTML_DIR) \
+                $(addprefix -bootclasspath ,$(PRIVATE_BOOTCLASSPATH)) \
                 $(addprefix -classpath ,$(PRIVATE_CLASSPATH)) \
                 -sourcepath $(PRIVATE_SOURCE_PATH)$(addprefix :,$(PRIVATE_CLASSPATH)) \
                 -d $(PRIVATE_OUT_DIR) \
 

 

 

 

<think> 我们正在处理关于Hi3751_V660 SDK安装所需的系统依赖的问题。根据引用[4]和引用[5],海思Hi3751系列(包括V660)Android开发环境的系统依赖要求如下: ### 系统依赖要求(基于引用[4][^4][^5]) 1. **操作系统**:64位 Ubuntu 10.04 或 Ubuntu 12.04(较新SDK可能支持更高版本,但需以官方文档为准)。 2. **硬盘空间**:至少100GB可用空间(用于存放SDK、编译中间文件及镜像)。 3. **Python版本**:2.4~2.7(不兼容Python 3.x)。 4. **JDK版本**: - 若开发Android 4.4,需JDK 1.6。 - 若开发Android 5.0,需JDK 1.7。 5. **交叉编译工具链**:官方指定为`arm-hisiv200-linux-`(需从SDK中安装)。 6. **其他基础工具**(未在引用中明确列出,但为Linux编译环境通用依赖): - `build-essential`(包含gcc、make等) - `git`(版本控制) - `libncurses5-dev`(内核菜单配置) - `bison`、`flex`(语法分析工具) - `ssl-dev`(加密库支持) - `zlib1g-dev`(压缩库) ### 依赖安装步骤(Ubuntu系统) 1. **更新系统并安装基础工具**: ```bash sudo apt-get update sudo apt-get install -y build-essential git libncurses5-dev bison flex zlib1g-dev ``` 2. **配置Ubuntu软件源**(针对老旧Ubuntu版本)[^5]: ```bash sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu hardy-updates main multiverse" sudo apt-get update ``` 3. **安装指定版本Python和JDK**: - Python 2.7(默认安装): ```bash sudo apt-get install -y python2.7 ``` - JDK 1.61.7(示例安装JDK 1.7): ```bash sudo apt-get install -y openjdk-7-jdk ``` 4. **安装交叉编译工具链**: - 从SDK包中解压工具链(通常位于`osdrv/toolchain/`目录),并运行安装脚本: ```bash cd /path/to/sdk/osdrv/toolchain/arm-hisiv200-linux sudo ./cross.install ``` - 配置环境变量: ```bash echo 'export PATH="$PATH:/opt/hisi-linux/x86-arm/arm-hisiv200-linux/bin"' >> ~/.bashrc source ~/.bashrc ``` ### 验证安装 - 检查工具链: ```bash arm-hisiv200-linux-gcc -v ``` 应输出类似`gcc version 4.8.3`的版本信息。 - 检查JDK: ```bash java -version # 应为1.61.7 ``` - 检查Python: ```bash python --version # 应为2.4-2.7 ``` ### 注意事项 1. **工具链兼容性**:引用[1][^1]中提及的`arm-himix200-linux-strip`警告可能与目录权限或路径设置有关,需确保工具链安装目录无空格或特殊字符。 2. **SDK导入问题**:如引用[3][^3]所述,若SDK压缩包结构异常(如多层嵌套),需重新打包确保根目录直接包含文件。 3. **旧版系统支持**:老旧Ubuntu版本(如10.04)的软件源可能已失效,需手动修改`/etc/apt/sources.list`为历史存档源[^5]。 §§相关问题§§ 1. 如何解决Hi3751_V660 SDK编译过程中的权限错误? 2. 交叉编译工具链安装失败应如何排查? 3. Hi3751_V660是否支持更高版本的Ubuntu(如22.04)? </think> ### Hi3751_V660 SDK安装所需系统依赖 基于海思Hi3751系列芯片的通用开发要求(引用[2][^2][^4][^5]),Hi3751_V660 SDK安装的系统依赖如下: #### 1. **操作系统要求** - **类型**:64位Ubuntu系统 - **版本**: - `Ubuntu 10.04`(官方推荐) - `Ubuntu 12.04`(兼容) - *注意*:更高版本(如Ubuntu 20.04)可能需手动适配依赖库[^4] #### 2. **硬盘空间要求** - **最小空间**:100GB - SDK解压后约占用15-20GB - 编译过程需额外80GB临空间(含中间文件)[^4] #### 3. **核心开发工具链** | 工具 | 版本要求 | 安装命令示例 | |---------------|----------------------|--------------------------------| | **交叉编译器** | `arm-hisiv200-linux` | 包含在SDK中,需配置环境变量 | | **Python** | 2.4~2.7 | `sudo apt-get install python2.7`| | **JDK** | Android 4.4: JDK 1.6<br>Android 5.0: JDK 1.7 | `sudo apt-get install openjdk-7-jdk` | | **Make** | ≥3.81 | `sudo apt-get install make` | #### 4. **基础依赖库** ```bash sudo apt-get install -y \ git-core gnupg flex bison gperf build-essential \ zip curl zlib1g-dev libc6-dev lib32ncurses5-dev \ x11proto-core-dev libx11-dev lib32z-dev ccache \ libgl1-mesa-dev libxml2-utils xsltproc unzip ``` *注*:此为Android开发的通用依赖,海思SDK需额外支持[^2][^4] #### 5. **Ubuntu软件源配置** 老旧系统需添加历史源(如Ubuntu 10.04): ```bash sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu hardy-updates main multiverse" sudo apt-get update # 刷新软件源[^5] ``` #### 6. **SDK导入注意事项** - **压缩包处理**:若直接导入失败(常见问题引用[3][^3]): 1. 解压SDK压缩包 2. 进入解压目录,全选文件重新打包为ZIP 3. 导入新压缩包 - **权限问题**: ```bash sudo chmod -R 755 /opt/Hisilicon_SDK # SDK建议安装路径 ``` #### 验证安装成功 ```bash source sdk_env_setup.sh # 执行SDK环境脚本 arm-hisiv200-linux-gcc -v # 检查交叉编译器 ``` *输出示例*: `gcc version 4.8.3 (Hisilicon_v200)` > **关键提示**: > 1. 避免使用Python 3.x(不兼容) > 2. 若编译报错`File format not recognized`(引用[1][^1]),检查工具链路径是否包含空格或中文 > 3. 详细环境配置参见《海思HI3751_Android解决方案 开发指南》[^4] ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值