Android平台编译问题

时间:2010-02-25 17:29:54

标签: android compilation

我正在桌面上编译android平台。

但是,我有一个问题:

============================================ 
PLATFORM_VERSION_CODENAME=AOSP
PLATFORM_VERSION=AOSP
TARGET_PRODUCT=generic
TARGET_BUILD_VARIANT=eng
TARGET_SIMULATOR=
TARGET_BUILD_TYPE=release
TARGET_ARCH=arm
HOST_ARCH=x86
HOST_OS=linux
HOST_BUILD_TYPE=release
BUILD_ID=MASTER
============================================
/bin/bash: bison: command not found
Checking build tools versions...
************************************************************
You are attempting to build with the incorrect version of java.

Your version is: java version "1.6.0".

The correct version is: 1.5.   Please follow the machine setup
     

说明           http://source.android.com/download
      ************************************************** **********       build / core / main.mk:111:***停止。停止。

我不确切知道如何编译它。

我的环境是Centos5。

如果不能使用java 1.6,如何在java1.6和java1.5之间进行并行?

8 个答案:

答案 0 :(得分:3)

必须使用Java 1.5来编译Android。

答案 1 :(得分:2)

我不在Android上工作,但可以告诉Javac编译器使用旧版本的Java平台:

javac -source 1.4 -target 1.4

希望这至少会让你朝着正确的方向前进。

答案 2 :(得分:1)

我遇到了同样的问题。问题是android代码与java 1.6不兼容,因此如果java版本> 1.5,则默认biild会出现问题。不幸的是,所有java计算机通常都会自动更新为1.6版本的java。

因此,要编译Android,您需要删除1.6版本并安装1.5版本的java。

卸载是直截了当的。只需使用系统工具进行rpm管理即可删除。

安装1.5有点麻烦。将旧存储库添加到源列表,并从中安装sun-java5-sdk。

希望这会有所帮助。对不起,我不能给出确切的步骤,因为我手头没有centOS系统,但我已经在Ubuntu系统上编译了它。

或者,您可以更改构建系统并修复java错误:)

答案 3 :(得分:1)

不幸的是它比这更糟糕,因为Android的后续版本([2.3 / API 9] ...)需要Java 1.6并且不能与1.5一起使用 - 这看起来有点不正常,使得构建系统的不同版本依赖在不同版本的语言工具上,没有向前或向后兼容性 我猜Google人员有不同的计算机或VM(或环境设置......)用于他们的单独构建,但这不是我称之为良好的工程实践;我总是尽力保持与跨版本兼容的东西!咆哮......

显然,最初这一切都是为了容纳一些MacO开发人员以确保他们的构建没有被破坏:

http://www.mail-archive.com/android-developers@googlegroups.com/msg48338.html

答案 4 :(得分:0)

选中“设置您的计算机”部分here

答案 5 :(得分:0)

您可以转到此链接http://processors.wiki.ti.com/index.php/TI-Android-GingerBread-2.3-DevKit-1.0_DeveloperGuide#For_Ubuntu_on_32-bit_machines

来安装java1.5

并选择您的java版本

sudo update-alternatives --config java

答案 6 :(得分:0)

截至今天,2011年4月27日,当我尝试制作android时,它说Java 1.6是正确的版本。但是,指令网页尚未更新。

答案 7 :(得分:-3)

1.5和1.6之间的代码存在一些差异......

确切地说,1.5使用像这样的@Anotations - > @Override,@ Dredrecated,@ SuppressWarnings。 也许Android开发者喜欢这些...... 但也许Java平台开发人员讨厌它。(我认为)

有时会出现错误信息。

You are attempting to build with the incorrect version of java.

===================================================
Your version is: java version "1.5.0.19".

The correct version is: 1.6.   Please follow the machine setup instructions at
    http://source.android.com/download
===================================================

但这条信息本身就是错误的。

在您的情况下,错误消息就足够了。将java6更改为java-1.5.0作为替代方案。 搜索解决方案。 这应该是一个足够的答案......