编译源码时遇到的You are attempting to build with an unsupported JDK问题

kkFileView编译踩坑实录:从源码到Windows/Linux双平台安装包生成 本文详细记录了从源码编译kkFileView到生成Windows/Linux双平台安装包的全流程避坑指南,涵盖环境配置、依赖下载、编码问题解决、跨平台打包技巧及性能优化建议,帮助开发者高效完成项目部署。 阅读详情

在编译android低版本代码时,make failed了,提示如下:

************************************************************
You are attempting to build with an unsupported JDK.
You use OpenJDK but only Sun/Oracle JDK is supported.
Please follow the machine setup instructions at
    https://source.android.com/source/download.html
************************************************************
build/core/main.mk:155: *** stop.  Stop.

说明编译需要的jdk版本和当前环境下的jdk版本不兼容,首先查看当前java环境:

$ xxx@ubuntu:$ java -version
openjdk version "1.8.0_151"
OpenJDK Runtime Environment (build 1.8.0_151-8u151-b12-0ubuntu0.16.04.2-b12)
OpenJDK 64-Bit Server VM (build 25.151-b12, mixed mode)

之所以出现这个问题,是因为我的jdk为openjdk1.8,在android5.0以前,编译源码使用oracleJDK,从5.0之后,开始使用openJDK,相关版本和对应JDK如下:

Android 7.0 (Nougat) - Android 8.0 (O):Ubuntu - OpenJDK 8;Mac OS - jdk 8u45 或更高版本
Android 5.x (Lollipop) - Android 6.0 (Marshmallow):Ubuntu - OpenJDK 7;Mac OS - jdk-7u71-macosx-x64.dmg
Android 2.3.x (Gingerbread) - Android 4.4.x (KitKat):Ubuntu - Java JDK 6;Mac OS - Java JDK 6
Android 1.5 (Cupcake) - Android 2.2.x (Froyo):Ubuntu - Java JDK 5

因此,如果要编译4.4的代码,应该使用OracleJDK6.所以,先安装OracleJDK1.6,安装步骤如下:
1,首选下载jdk1.6:
http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase6-419409.html
2.jdk1.6没有提供tar.gz包,而是.bin文件,因此修改权限为可执行文件:
chmod +x jdk-6u45-linux-x64.bin
3.运行该文件:
./jdk-6u45-linux-x64.bin
运行之后,会生成一个jdk1.6.0_45文件夹
4.移动该文件夹到/usr/local/java中:
sudo mv jdk1.6.0_45/ /usr/local/java
5.配置环境变量:
sudo gedit ~/.bashrc
使用gedit打开.bashrc文件,并添加如下语句:

export JAVA_HOME=/usr/local/java/jdk1.6.0_45
export JRE_HOME=${JAVA_HOME}/jre 
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib 
export PATH=${JAVA_HOME}/bin:$PATH

这时整个java1.6环境就配好了,接下来还需要进行几步以便和多个java环境间进行切换。
6.用 update-alternatives 工具来添加 Java 可选配置项:

sudo update-alternatives --install /usr/bin/java java /usr/local/java/jdk1.6.0_45/bin/java 700
sudo update-alternatives --install /usr/bin/javac javac /usr/local/java/jdk1.6.0_45/bin/javac 700

7.将当前Java环境切换到java6:
sudo update-alternatives --config java

There are 3 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                            Priority   Status
------------------------------------------------------------
* 0            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1081      auto mode
  1            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1081      manual mode
  2            /usr/local/java/jdk1.6.0_45/bin/java             700       manual mode
  3            /usr/local/java/jdk1.8.0_161/jre/bin/java        700       manual mode

Press <enter> to keep the current choice[*], or type selection number: 2
update-alternatives: using /usr/local/java/jdk1.6.0_45/bin/java to provide /usr/bin/java (java) in manual mode

如果出现如上内容,说明配置了三个java环境,带×号的环境表示当前所处的java环境,选择对应数字切换后,再使用java -version查看当前java环境:

xxx@ubuntu:$ java -version
java version "1.6.0_45"
Java(TM) SE Runtime Environment (build 1.6.0_45-b06)
Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01, mixed mode)
xxx@ubuntu:$ 

说明切换成功
对于其他版本的jdk安装,可能从官网下载的为tar.gz形式的,不过步骤和安装jdk1.6类似。只需要解压tar包就行了,这里以jdk1.8为例,解压命令如下:
tar zxvf jdk-8u161-linux-x64.tar.gz jdk1.8.0_161

UE5.2源码编译与Android打包实战:环境配置、避坑指南与性能优化 源码编译是深入理解游戏引擎架构、实现功能定制和跨平台优化的核心技术环节。其原理在于通过构建工具链将高级语言源代码转换为特定平台的可执行文件,这一过程对工具版本和环境配置的精确性要求极高。技术价值在于赋予开发者对引擎底层机制的完全控制权,能够针对特定需求(如移动端性能优化)进行深度定制。在应用场景上,尤其对于需要为Android等移动平台打包的项目,源码编译是解锁高级图形特性(如Lumen、Nanite)和解决平台兼容性问题的关键前提。本文聚焦于UE5.2引擎,结合Visual Studio 2022环境,系 阅读详情

相关推荐

Kotlin环境安装完全指南:从JDK17到包管理器

在搭建JVM生态开发环境时,语言编译器与JDK的版本匹配是首要前提。Kotlin作为现代JVM语言,其安装包形式多样,包括命令行编译器、Gradle依赖以及包管理器工具。正确识别所需组件,并配置JDK17,能有效规避编译报错和命令找不到问题。从实际工程角度出发,内容拆解不同场景下的Kotlin安装方案,涵盖kotlinc手动部署、SDKMAN/Homebrew/Scoop等包管理方式,以及Android Studio中的内置支持。无论你是准备学习Kotlin语法、开发Android应用还是构建服务端项目,都

weixin_33853794的博客 305

java 降低jdk版本_jdk版本控制-降低jdk版本 - Java天堂

jdk版本控制–降低jdk版本一:遇到的问题:You are attempting to build with an unsupported JDK************************************************************You are attempting to build with an unsupported JDK.You use OpenJD...

weixin_28791139的博客 1580

将1.5版本编译的jar包降级转编译为1.4版本的jar包

将1.5版本编译的jar包降级转编译为1.4版本的jar包

You are attempting to build with an unsupported JDK.

Checking build tools versions... ************************************************************ You are attempting to build with an unsupported JDK. You use OpenJDK but only Sun/Oracle JDK is sup

3422

java-1.8.0-openjdk-1.8.0.102-1-redhat

java-1.8.0-openjdk-1.8.0.102-1-redhat.b14.windows.x86_64

认知网络分析实战:用Python复现课堂对话研究(含LSA代码)

本文通过Python实战,详细演示了如何运用认知网络分析(ENA)和滞后序列分析(LSA)两种方法,对课堂对话数据进行深度挖掘。文章提供了从数据清洗、行为编码到网络构建、序列统计及可视化的完整代码流程,帮助教育研究者和数据分析师量化分析对话中的认知结构与动态互动模式,从而获得超越文本表面的研究洞见。

weixin_28559803的博客 155

安卓编译提示You use OpenJDK but only Sun/Oracle JDK is supported.

在编译安卓4.4的源码的时候提示JDK版本不对,错误信息如下:************************************************************ You are attempting to build with an unsupported JDK.You use OpenJDK but only Sun/Oracle JDK is supported. Ple

MENGHUANBEIKE的专栏 3389

iTunes登录协议全解析:从抓包到加密参数生成(含HTTPDebugger避坑指南)

本文深度解析iTunes登录协议,提供从环境搭建、绕过反调试机制到捕获网络流量的完整实战指南。重点剖析了如何利用HTTPDebugger等工具进行抓包,并详细解读了核心加密参数X-Apple-ActionSignature的生成逻辑,为网络安全研究员和协议分析工程师提供了一份详尽的逆向分析与协议复现教程。

weixin_28314575的博客 869

个人环境搭建

apt-get install 以后 sudo ldconfig

u010956354的专栏 3488

ArcGIS新手必看:5分钟搞定等高线转DEM栅格(附完整操作截图)

本文详细介绍了在ArcGIS中将等高线转换为DEM栅格的完整流程,包括CAD数据预处理、TIN转栅格和直接插值法两种核心方法,以及常见问题排查与优化技巧。通过实战案例和操作截图,帮助GIS新手快速掌握这一测绘数据处理的核心技能,提升地形分析和三维可视化效率。

dapp9builder的博客 287

Gradle进阶:4:结合Sonarqube进行代码审查

作为代码质量检查的流行工具,比如Sonarqube能够检查代码的“七宗罪”,跟代码结合起来能够更好地提高代码的质量,这篇文章将会介绍如何结合gradle和sonarqube对代码质量与测试覆盖率进行分析。

知行合一 止于至善 1万+

android 编译碰到的问题及解决办法:(ubuntu下编译)

android 编译碰到的问题及解决办法: 虽然照着说明来进行,但还是会遇到一些问题。下面是记录及解决方法 35G 的文件集,编出70多G的文件,是一件苦差事,动用nmon全程监视 自己晚上,白天受累是免不了的。成功愉快! ------------------------------------------------------------ 问题1: JDK 版本不对 -------

hjjdebug的专栏 1万+

MySQL操作之用户管理权限管理:(DC)(五)

一、简介 二、用户管理 2.1 User表 2.2 创建普通用户 2.3 删除普通用户 2.4 修改用户密码 2.5 解决root用户密码丢失 三、权限管理 3.1 MySQL的权限 3.2 授予权限 3.3 查看权限 3.4 收回权限

lydms的博客 4507

编译android源码时You are attempting to build with the incorrect version of java. Your version is: java v...

转载:http://www.16kan.com/post/214622.html 今天编译android 4.0时提示如下错误: You are attempting to build with the incorrect version of java. Your version is: java version "1.6.0_22".The correct version is: ...

weixin_30809173的博客 213

AD22等长布线规则

本文介绍了PCB布线中实现信号线等长的详细操作步骤:1.创建网络类(NetClass),将需要等长的信号线归入同一组;2.设置高速布线规则(High-SpeedRule),定义等长容差等参数;3.进行交互式等长布线(InteractiveLengthTuning),使用蛇形线调整线长;4.实时调整与最终检查,确保所有网络满足等长要求。文中还提供了实用技巧,如使用快捷键调整蛇形线参数、为关键信号设置更严格规则等。操作需在PCB设计软件中完成,通过统一管理、规则设置和精确调整来实现信号同步传输。

whm128的博客 1557

YOLOv8-COCO指标转换

本文介绍了将YOLO格式数据集转换为COCO格式并评估模型性能的完整流程。首先需将YOLO格式的标注数据转换为COCO格式,通过修改classes、image_path等参数适配不同数据集。然后使用YOLO模型对验证集进行预测并保存结果为JSON格式。最后通过比较预测结果和转换后的COCO标注文件,使用COCO官方评估指标和TIDE工具进行性能分析,生成包含AP、AR等指标的报告及错误分析图表。整个过程实现了从数据准备到模型评估的完整闭环,为计算机视觉任务提供标准化的性能评估方案。

FJN110的博客 403

【webrtc】源码下载与编译

这将会拉取webRTC源码,且额外加了android相关的依赖,例如Android SDK/ NDK。整个工程大概21G,主要占用的是第三方依赖,在third_party目录下,大概17G+,其中third_party/Android相关依赖有6G+。所以拉取时,请确保空间充裕。B fetch通过 ubuntu的界面 proxy设置了代理。(1) windows ,centos上都会报错。这个应该可以看到最新的变动 ,需求变更等。A : 在git上设置代理。

dualvencsdn的博客 2113

移位寄存器——用Verilog实现串入串出、串并和并串转换并进行Modelsim仿真

用Verilog实现串并转换 首先我们先要了并串和串并转换的原理 并串转换:先将八位数据暂存于一个八位寄存器器中,然后左移输出到一位输出端口,这里可以通过一个“移位”来实现,相当于实现了移位寄存器的功能。 串并转换:新输入的位值成为原来数据的最低位,将原来数据的最高位舍去,这里可以通过一个简单的“连接符”来实现。 我们这里采用两种方式来进行串并转换 一:lsb优先 Least Significant Bit,最低比特,最低位优先 二:msb优先 Most Significant Bit,最高比特,

H19981118的博客 2万+

从源码编译osu-droid:Android Studio构建APK完整教程与常见报错解决

想在手机上体验 osu-droid 的最新玩法,却找不到合适的安装包?其实从源码编译 osu-droid 并不难,只要环境配好,一条命令就能生成 APK。本文是一份面向新手的 osu-droid 编译完整教程,从环境准备、源码拉取、Android Studio 构建到常见报错解决,手把手带你完成从源码到 APK 的全过程,全程无需修改任何代码。 [![osu-droid游戏加载背景图](http

gitblog_01142的博客 710

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Foxy Droid源码编译教程:从零配置SDK、签名并构建安装(开发者指南)

Foxy Droid 是一款经典风格的 F-Droid 客户端(非官方第三方应用商店),本教程带你完成 **Foxy Droid 源码编译** 全流程:配置 Android SDK、生成签名密钥、执行 Gradle 构建,最终得到一个可安装的 APK。项目采用 Kotlin 开发,依赖极少、构建简单,非常适合新手作为第一个 Android 源码编译练习。 [![Foxy Droid 主界面:更新

gitblog_00648的博客 982

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Uncle小说PC版源码编译与打包实战

本文详细介绍了Uncle小说PC版源码的编译与打包实战过程,包括环境配置、源码获取、关键问题修复及完整编译流程。针对自动更新机制和启动弹窗等常见问题提供了具体解决方案,并分享了跨平台打包的实践经验,帮助开发者快速掌握Uncle小说源码的修复与优化技巧。

weixin_34221775的博客 465

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

从源码到APK:编译YTPro的完整步骤,适合开发者的实践教程

YTPro是一款功能强大的YouTube客户端应用,支持旧版Android系统、后台播放、Google Gemini AI等众多实用功能。本文将为您提供从源码编译到生成APK的完整指南,帮助开发者快速上手YTPro的编译流程。🚀 ## 📋 准备工作与环境搭建 在开始编译YTPro之前,您需要准备好以下开发环境: ### 系统要求与工具安装 - **Java开发环境**:JDK 11或更高

gitblog_00707的博客 384

MyEclipse 8.5 导入 JSP+MySQL 源码项目:3步解决 JDK/Tomcat 版本兼容问题

本文详细介绍了在MyEclipse 8.5中导入JSP+MySQL源码项目时,如何通过3个步骤解决JDK和Tomcat版本兼容问题。从环境准备到项目配置,再到常见问题排查,提供了实战验证的解决方案,帮助开发者快速搭建适合老项目的开发环境,特别适用于传统OA系统的维护和升级。

weixin_30879833的博客 362

WebRTC Android客户端编译指南与问题解决

WebRTC作为实时音视频通信的开源技术框架,其核心原理是通过P2P连接实现低延迟媒体传输。在Android平台集成时,开发者常面临编译环境配置、依赖管理等工程化挑战。本文以M123版本为例,详解从Linux环境准备、depot_tools工具链配置到最终构建AAR包的完整流程,特别针对网络问题、Java版本冲突等常见编译错误提供解决方案。掌握源码级编译能力可帮助开发者灵活定制编解码参数、优化性能指标,满足视频会议、在线教育等场景下的特殊需求。

weixin_34343308的博客 361

JDK25环境配置本质是运行时契约重建

Java开发环境配置已从简单的路径设置演进为构建可验证的JVM运行时契约。JDK25通过模块化(jmods)、精简镜像(jlink)、ZGC默认启用及字节码版本升级(69)等机制,重构了JAVA_HOME语义、PATH作用域和编译-运行分离模型。其技术价值在于提升启动性能、降低资源占用并强化版本一致性,广泛应用于Spring Boot 3.4微服务、Flink流处理及容器化部署场景。本文聚焦JDK25配置中JAVA_HOME与jlink镜像解耦、MAVEN_OPTS强制对齐、ZGC预热控制等核心实践,揭示传

weixin_30838873的博客 332

ubuntu 编译 Android 出现的若干错误及解决方法

刚下好 android 源码后马上编译会发现有各种各样的错误,原因是有些依赖包没有装。 为了避免出现以下我遇到的错误,请先安装 jdk1.5,必须是 jdk1.5,不然肯定编译不过的。 然后,在检查以下有没有安装以下依赖包: sudo apt-get install bison libc6-dev-amd64 g++-multilib zlib1g-dev lib64z1...

sharp2wing的专栏 329
上一篇: 编译源码时,Android can only be built by versions 3.81 and 3.82解决方法
下一篇: [Git] Git整理(一) Git的安装、配置和基本操作
FightFightFight
博客等级 码龄11年 508粉丝 174原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值