用update-alternatives实现不同Android平台编译时的JDK选择

2024-04-01 04:08

本文主要是介绍用update-alternatives实现不同Android平台编译时的JDK选择,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

田海立@CSDN 2012-1-19

 

Android不同平台在编译时,用到的jdk的版本不同,比如:Froyo(2.2)及其以前版本需要jdk5.0;Gingerbread及其之后版本需要jdk6.0。如果在一个环境中要做不同平台项目,就需要安装不同的jdk,切换项目时要反复安装jdk,费时费力。Update-alternatives为这种情况提供了解决方案。

 

本文只是针对《Ubuntu10.10下编译Android2.2平台》的补充,是笔者在编译Gingerbread时的解决方案。

 

1.3.2 中

1)官方下载JDK6,笔者下载的是jdk-6u30-linux-i586.bin

2)然后执行安装,

haili@haili-desktop:~$cd ~

haili@haili-desktop:~$chmod +x jdk-6u30-linux-i586.bin

haili@haili-desktop:~$./jdk-6u30-linux-i586.bin

执行之后,生成 ~/jdk1.6.0_30

3)JDK版本切换

安装了多个JDK的话,可以用update-alternatives设置版本,并进行切换选择使用哪个。

首先为JDK1.6版生成可选配置选项:

haili@haili-desktop:~$sudoupdate-alternatives--install /usr/bin/jdk jdk ~/jdk1.6.0_30 254

说明:/usr/bin/jdk是符号链接,它指向/etc/alternatives/jdk(由第2个参数给出);/etc/alternatives/jdk是符号链接,它指向~/jdk1.6.0_30。~/jdk1.6.0_30(/home/haili/jdk1.6.0_30)是实际目的链接,254是优先级(任意整数,在自动模式时,数字大的优先级较高,被选为默认配置选项)。

 

执行上面的操作之后,就可以用update-alternatives来切换jdk了。

 

用--display可以选择用查看与/etc/alternatices/jdk关联的有哪些:

haili@haili-desktop:~$update-alternatives --displayjdk

jdk – manual mode

  link currently points to /home/haili/jdk1.5.0_22

/home/haili/jdk1.5.0_22– priority 255

/home/haili/jdk1.6.0_30– priority 254

 

用--config可以切换不同的jdk版本

haili@haili-desktop:~$sudoupdate-alternatives--config jdk

[sudo] passwordfor haili:

There are 2choices for the alternative jdk (providing /usr/bin/jdk).

 

 Selection   Path                      Priority   Status

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

0           /home/haili/jdk1.5.0_22   255     auto mode

1           /home/haili/jdk1.5.0_22   255     manual mode

* 2           /home/haili/jdk1.6.0_30   254     manual mode

 

Press enter tokeep the current choice[*], or type selection number:

可以选择不同jdk。

 

在环境设置中只要设置到/usr/bin/jdk,就能链接到你用update-alternatives选择的那个jdk了。

 


这篇关于用update-alternatives实现不同Android平台编译时的JDK选择的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/866171

相关文章

流媒体平台/视频监控/安防视频汇聚EasyCVR播放暂停后视频画面黑屏是什么原因?

视频智能分析/视频监控/安防监控综合管理系统EasyCVR视频汇聚融合平台,是TSINGSEE青犀视频垂直深耕音视频流媒体技术、AI智能技术领域的杰出成果。该平台以其强大的视频处理、汇聚与融合能力,在构建全栈视频监控系统中展现出了独特的优势。视频监控管理系统EasyCVR平台内置了强大的视频解码、转码、压缩等技术,能够处理多种视频流格式,并以多种格式(RTMP、RTSP、HTTP-FLV、WebS

如何选择适合孤独症兄妹的学校?

在探索适合孤独症儿童教育的道路上,每一位家长都面临着前所未有的挑战与抉择。当这份责任落在拥有孤独症兄妹的家庭肩上时,选择一所能够同时满足两个孩子特殊需求的学校,更显得尤为关键。本文将探讨如何为这样的家庭做出明智的选择,并介绍星贝育园自闭症儿童寄宿制学校作为一个值得考虑的选项。 理解孤独症儿童的独特性 孤独症,这一复杂的神经发育障碍,影响着儿童的社交互动、沟通能力以及行为模式。对于拥有孤独症兄

hdu1043(八数码问题,广搜 + hash(实现状态压缩) )

利用康拓展开将一个排列映射成一个自然数,然后就变成了普通的广搜题。 #include<iostream>#include<algorithm>#include<string>#include<stack>#include<queue>#include<map>#include<stdio.h>#include<stdlib.h>#include<ctype.h>#inclu

2. c#从不同cs的文件调用函数

1.文件目录如下: 2. Program.cs文件的主函数如下 using System;using System.Collections.Generic;using System.Linq;using System.Threading.Tasks;using System.Windows.Forms;namespace datasAnalysis{internal static

综合安防管理平台LntonAIServer视频监控汇聚抖动检测算法优势

LntonAIServer视频质量诊断功能中的抖动检测是一个专门针对视频稳定性进行分析的功能。抖动通常是指视频帧之间的不必要运动,这种运动可能是由于摄像机的移动、传输中的错误或编解码问题导致的。抖动检测对于确保视频内容的平滑性和观看体验至关重要。 优势 1. 提高图像质量 - 清晰度提升:减少抖动,提高图像的清晰度和细节表现力,使得监控画面更加真实可信。 - 细节增强:在低光条件下,抖

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟&nbsp;开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚&nbsp;第一站:海量资源,应有尽有 走进“智听

【C++】_list常用方法解析及模拟实现

相信自己的力量,只要对自己始终保持信心,尽自己最大努力去完成任何事,就算事情最终结果是失败了,努力了也不留遗憾。💓💓💓 目录   ✨说在前面 🍋知识点一:什么是list? •🌰1.list的定义 •🌰2.list的基本特性 •🌰3.常用接口介绍 🍋知识点二:list常用接口 •🌰1.默认成员函数 🔥构造函数(⭐) 🔥析构函数 •🌰2.list对象

【Prometheus】PromQL向量匹配实现不同标签的向量数据进行运算

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全栈,前后端开发,小程序开发,人工智能,js逆向,App逆向,网络系统安全,数据分析,Django,fastapi

常用的jdk下载地址

jdk下载地址 安装方式可以看之前的博客: mac安装jdk oracle 版本:https://www.oracle.com/java/technologies/downloads/ Eclipse Temurin版本:https://adoptium.net/zh-CN/temurin/releases/ 阿里版本: github:https://github.com/

让树莓派智能语音助手实现定时提醒功能

最初的时候是想直接在rasa 的chatbot上实现,因为rasa本身是带有remindschedule模块的。不过经过一番折腾后,忽然发现,chatbot上实现的定时,语音助手不一定会有响应。因为,我目前语音助手的代码设置了长时间无应答会结束对话,这样一来,chatbot定时提醒的触发就不会被语音助手获悉。那怎么让语音助手也具有定时提醒功能呢? 我最后选择的方法是用threading.Time