ubuntu 编译android 源码时Openjdk 问题

make源码时出现您要求的是OpenJDk 而你当前版本是Java(TM)SE Runtime Environment,

纠结了,感觉网上各种搜,功夫不服有心人,赶紧记一下,分三个步骤;


步骤一:

异常信息:


You asked for an OpenJDK 7 build but your version is
java version "1.7.0_95" Java(TM) SE Runtime Environment (build 1.7.0_95-b15) Java  HotSpot(TM) 64-Bit
Server VM (build 24.95-b01, mixed mode).


Ubuntu16.04经默认没有openjdk7,所以要自己手动添加仓库:


//通过"add-apt-repository"脚本添加ppa到当前的库中并且会自动导入公钥;

sudo add-apt-repository ppa:openjdk-r/ppa


//执行update更新;

sudo apt-get update


//安装openjdk

sudo apt-get install opnjdk-7-jdk


打开/usr/lib/jvm/查看是否已经存在;

如果本地没有安装jdk6jdk8,想安装,方法一样通过sudo apt-get install jdk6


/usr/lib/jvm/java-7-oracle
/usr/lib/jvm/java-7-openjdk-amd64


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

步骤二:


安装成功后参考以下脚步在本地创建text文本配置对应的jdk,生成jdk_switch.sh


#!/bin/sh
echo ‘start eclipse’
case $1 in
    jdk8) export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/
 ;;
    jdk7) export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64/
 ;;
    jdk6) export JAVA_HOME=/usr/lib/jvm/java-6-oracle/
 ;;
    *) export JAVA_HOME=/usr/lib/jvm/java-9-openjdk-amd64/
 ;;
esac
echo $JAVA_HOME
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

java -version


打开终端,切到你的要运行的项目,执行刚生成的.sh脚步,只要在末尾执行jdk版本号就ok了,可参考以下命令执行:


. /home/yuanjl/jdk_switch.sh jdk7


通过java-version查看当前版本号信息;

java -version


java version "1.7.0_95"
OpenJDK Runtime Environment (IcedTea 2.6.4) (7u95-2.6.4-3)
OpenJDK 64-Bit Server VM (build 24.95-b01, mixed mode)


出现以上信息,表明已经配置成功了;


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

步骤三:

如果还是切换不了,可采用以下方式执行切换当前的jdk和运行环境:

sudo update-alternatives --config java


------------------------------------------------------------
* 0 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java 1081 自动模式
  1 /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java 1071 手动模式
要维持当前值[*]请按<回车键>,或者键入选择的编号:1


sudo update-alternatives --config javac


------------------------------------------------------------
* 0 /usr/lib/jvm/java-8-openjdk-amd64/bin/javac 1081 自动模式
  1 /usr/lib/jvm/java-7-openjdk-amd64/bin/javac 1071 手动模式     
要维持当前值[*]请按<回车键>,或者键入选择的编号:1


选择你想要的jdk对应的编号就OK了,之后通java-version查看你当的版本信息了


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
编译 Android 源码出现错误可能是由于很多原因引起的。以下是一些可能的原因和解决方法: 1. 缺少依赖项 在编译 Android 源码,您需要安装许多依赖项。如果您没有安装这些依赖项,编译过程将失败。您可以通过运行以下命令来安装必需的依赖项: ``` 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 ``` 2. 缺少 Java 环境 Android 源码需要 JDK 环境来编译。如果您没有安装 JDK,您可以使用以下命令安装: ``` sudo apt-get install openjdk-8-jdk ``` 3. 没有设置环境变量 在编译 Android 源码之前,您需要设置一些环境变量(例如 ANDROID_HOME、JAVA_HOME 等)。如果您没有设置这些环境变量,您可以在终端中运行以下命令: ``` export ANDROID_HOME=/path/to/your/android-sdk export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools export JAVA_HOME=/path/to/your/jdk export PATH=$PATH:$JAVA_HOME/bin ``` 请注意,您需要将路径替换为实际路径。 4. 文件系统权限问题Android 源代码文件的权限可能会导致编译错误。您可以使用以下命令更改文件权限: ``` sudo chmod -R 777 /path/to/your/android/source/code ``` 请注意,这将更改整个目录的权限,因此请谨慎使用。 以上是一些可能的解决方法,如果您仍然无法编译 Android 源码,请提供更具体的错误信息以帮助我们更好地理解您的问题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值