关于编译android时出现Error 41的解决方法

本文解决了Android编译过程中出现的Java虚拟机问题。通过配置环境变量和使用update-alternatives命令更新Java服务路径,确保系统使用正确的Java版本。

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

我遇到这个错误,在国外论坛看到了解决办法并解决成功,希望能帮助到别人。

错误:
build/core/product_config.mk:229: WARNING: adding test OTA key 
host Java: clearsilver (out/host/common/obj/JAVA_LIBRARIES/ 
clearsilver_intermediates/classes) 
Unrecognized option : 9999999 
make: *** [out/host/common/obj/JAVA_LIBRARIES/ 
clearsilver_intermediates/javalib.jar] Error 41 

原因:
从错误信息看,大概猜出来是java虚拟机的问题。有人说我已经装了java阿,但是装了不一定能用上,"Androidrequires at least Java5 with update 12...",我装的java 6,没问题。 

解决办法:
装完java 6之后
1,配置java环境变量,我是用ubuntu8.04下的新立得装的,默认路径/usr/lib/jvm/java-6-sun
root用户下打开.bashrc文件
#vi ~/.bashrc
在文件末加上

export JAVA_HOME=/usr/lib/jvm/java-6-sun
export ANDROID_JAVA_HOME=$JAVA_HOME

保存退出

2,用update-alternatives命令更改提供java服务的正确路径,因为我们可能装了几种能提供java的服务,虽然装了java 6,但是路径并没有改过来,系统还是使用原来的老路径,所以编andr的时候会发现版本不对。
修改示例(Ubuntu下用update-alternatives取代alternatives):
[root@vostro ~]# alternatives --config java 
There are 3 programs which provide 'java'. 
  Selection    Command 
----------------------------------------------- 
* + 1           /usr/lib/jvm/jre-1.6.0-openjdk/bin/java 
     2           /usr/lib/jvm/jre-1.5.0-gcj/bin/java 
     3           /usr/java/jdk1.6.0_07/bin/java 
Enter to keep the current selection[+], or type selection number:3 

[root@vostro ~]# alternatives --config javac 

There is 1 program that provides 'javac'. 
  Selection    Command 
----------------------------------------------- 
*+ 1           /usr/lib/jvm/java-1.5.0-gcj/bin/javac 
Enter to keep the current selection[+], or type selection number: 
[root@vostro ~]# alternatives --config javac 
There are 2 programs which provide 'javac'. 
  Selection    Command 
----------------------------------------------- 
*+ 1           /usr/lib/jvm/java-1.5.0-gcj/bin/javac 
   2           /usr/java/jdk1.6.0_07/bin/javac 
Enter to keep the current selection[+], or type selection number: 2 

[root@vostro ~]# javac -version 
javac 1.6.0_07 

[root@vostro ~]# alternatives --config jar 

There is 1 program that provides 'jar'. 
  Selection    Command 
----------------------------------------------- 
*+ 1           /usr/java/jdk1.6.0_07/bin/jar 
Enter to keep the current selection[+], or type selection number: 

把提供java,javac,jar服务的程序路径全部改成jdk1.6.0_07那个(我的是/usr/lib/jvm/java-6-sun/jre/bin/java),也就是*和+全部移到那个位置,我的系统下只能改default selection,后来我把其他路径用update-alternatives --remove删掉了,current selection[+]也就改过来了,怎么删看帮助。

最后重启一下(可能只需要logout/login)就可以make成功了,enjoy it ;)


本文非原创,转自http://www.androidin.com/bbs/redirect.php?tid=2682&goto=lastpost

### Anaconda 安装教程 #### 一、安装 Anaconda 并配置环境变量 为了确保 Anaconda 正常工作,在安装过程中需要注意勾选添加路径选项,这一步骤对于后续命令行工具的正常使用至关重要[^3]。 ```bash # 如果在安装未选择添加路径,则可以通过手动设置环境变量来解决 export PATH="/path/to/anaconda/bin:$PATH" ``` #### 二、验证安装是否成功 完成安装后,可通过启动 Anaconda Navigator 或者在命令提示符中运行 `conda --version` 来确认安装情况。如果显示 Conda 的版本号则表示安装无误。 ```bash conda --version ``` ### 使用清华大学镜像加速软件包下载 #### 三、配置 Conda 使用清华大学镜像源 由于官方仓库可能速度较慢,建议修改默认的 Conda 源为清华大学开源软件镜像站提供的国内镜像地址,从而提高依赖项获取效率[^1]。 ```bash # 添加清华镜像作为优先级最高的渠道 conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ # 显示完整的 URL 地址以便于调试 conda config --set show_channel_urls yes ``` #### 四、创建并激活 TensorFlow 所需虚拟环境 考虑到不同 Python 版本之间的兼容性差异,推荐专门为 TensorFlow 创建独立的工作空间,并指定合适的 Python 解释器版本[^2]。 ```bash # 基于特定Python版本建立新的Conda环境 conda create -n tensorflow python=3.6 anaconda # 切换至刚创建好的环境中去 conda activate tensorflow ``` #### 五、利用 Pip 和 Conda 结合方式高效部署 TensorFlow 及其他库 除了通过 Conda 管理基础设施外,还可以借助 PyPI 上丰富的第三方扩展资源进一步完善开发平台建设;同样地,这里也提倡采用本地化存储节点以加快网络传输速率[^4]。 ```bash # 运用Pip配合清华简易索引服务器快速加载目标模块 pip install tensorflow-gpu==2.x.y -i https://pypi.tuna.tsinghua.edu.cn/simple ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值