国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android 7.0 工程加載openJDK 8

2019-11-09 17:36:26
字體:
來源:轉載
供稿:網友

/*****************************************************************************

 * Author : Elvins Fu      yeyecheng_93@163.com

 *

 * Info : Boway Inc,(C) 2016-11-26, All rights revseved. 

 *

 * This document is summed up by the author for that the  R&D install the   

 * java running environment or Java development kit and build the PRoject    

 * on Android 7.0 Platfrom success.

****************************************************************************/

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

可以連接外網的情況下,使用

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

sudo apt-get update

  sudo apt-get install openjdk-8-jdk

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

不能連接外網的情況下,

ahmed@Ubuntu:~$ sudo add-apt-repository ppa:webupd8team/java

ahmed@ubuntu:~$ sudo apt-get update

ahmed@ubuntu:~$ sudo apt-get install Oracle-java8-installer

 

問題: Unable to locate package oracle-java8-installer

解決辦法:

echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu precise main" > /etc/apt/sources.list.d/webupd8team-java.list

echo "deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu precise main" >> /etc/apt/sources.list.d/webupd8team-java.list

apt-key adv --keyserver keyserver.ubuntu.com --recv-keys EEA14886

再重復上述操作,若還是不行,則下載源碼編譯。

 

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

此時源碼安裝下載

http://hg.openjdk.java.net/jdk8u/jdk8u60/ 或者http://download.java.net/openjdk/jdk8/https://launchpad.net/ubuntu/+source/openjdk-8

 

1.下載Mercurial

Mercurial 是強大的分布式版本控制系統. 本文將介紹如何在 Ubuntu 下快速的最新版的安裝Mercurial, 其實只要幾條命令就可以搞定了

sudo add-apt-repository ppa:tortoisehg-ppa/releases

sudo add-apt-repository ppa:mercurial-ppa/releases

sudo apt-get update

sudo apt-get install mercurial python-nautilus tortoisehg

 

2.建立文件目錄,下載安裝預裝環境

bule@sky:~$ hg clone http://hg.openjdk.java.net/jdk8u/jdk8u jdk8-1773f1fd0fac.tar.gz

bule@sky:~/JDK/jdk8-1773f1fd0fac.tar.gz$ ls

ASSEMBLY_EXCEPTION get_source.sh Makefile test

common LICENSE README THIRD_PARTY_README

configure make README-builds.html

有一個 README-builds.html 描述了如何 build 整個系統,一些細節需要自己去尋找。

 

3.下載編譯文件源碼 (網站下載較慢,等待幾十分鐘)

bule@sky:~/JDK/jdk8-1773f1fd0fac.tar.gz$ bash ./get_source.sh

# Repositories: corba jaxp jaxws langtools jdk hotspot nashorn

corba: hg clone http://hg.openjdk.java.net/jdk8u/jdk8u/corba corba

jaxp: hg clone http://hg.openjdk.java.net/jdk8u/jdk8u/jaxp jaxp

 

bule@sky:~/JDK/jdk8-1773f1fd0fac.tar.gz$ ls

ASSEMBLY_EXCEPTION hotspot LICENSE README-builds.html

common jaxp make test

configure jaxws Makefile THIRD_PARTY_README

corba jdk nashorn

get_source.sh langtools README

 

4.安裝/更新依賴,在openJDK7上升級

bule@sky:~/JDK/jdk8-1773f1fd0fac.tar.gz$ sudo apt-get install aptitude

我下載aptitude的目的是在于aptitude比apt-get處理依賴性更好一些

 

bule@sky:~/JDK/jdk8-1773f1fd0fac.tar.gz$ sudo aptitude build-dep openjdk-7

bule@sky:~/JDK/jdk8-1773f1fd0fac.tar.gz$ sudo aptitude install openjdk-7-jdk

 

5.環境變量配置

bule@sky:~/JDK/jdk8-1773f1fd0fac.tar.gz$ vi ~/.bashrc (放在這里的好處不用說明)

export LANG=C

export PATH="/usr/lib/jvm/java-7-openjdk/bin:${PATH}"

bule@sky:~/JDK/jdk8-1773f1fd0fac.tar.gz$ source ~/.bashrc

 

6.配置編譯選項

bule@sky:~/JDK/jdk8-1773f1fd0fac.tar.gz$ bash ./configure

想編譯出調試版本的,可以給 configure 加參數,編譯有 release等幾種編譯級別,可以在調試時候提供更多的信息。

 

通常系統缺少ccache,下載該包加快編譯速度。

bule@sky:~/JDK/jdk8-1773f1fd0fac.tar.gz$ sudo apt-get install ccache

 

調試一下:-enable-debug 其實相當于 --with-debug-level=fastdebug, 可以通過這樣的參數選項指定編譯級別。一共可以指定三種級別: release, fastdebug, slowdebug, slowdebug 含有最豐富的調試信息,沒有這些信息,很多執行可能被優化掉,我們單步執行時,可能看不到一些變量的值。所以最好指定slowdebug 為編譯級別。

 

bule@sky:~/JDK/jdk8-1773f1fd0fac.tar.gz$ bash ./configure --enable-debug

注意以下信息

Configuration summary:

* Debug level: fastdebug (編譯級別release此時改變fastdebug)

* JDK variant: normal

* JVM variants: server

* OpenJDK target: OS: linux, CPU architecture: x86, address length: 64

 

Tools summary:

* Boot JDK: java version "1.7.0_121" OpenJDK Runtime Environment (IcedTea 2.6.8) (7u121-2.6.8-1ubuntu0.14.04.1) OpenJDK 64-Bit Server VM (build 24.121-b00, mixed mode) (at /usr/lib/jvm/java-7-openjdk-amd64)

 

7.編譯 (時間有點慢,耐心等待)

bule@sky:~/JDK/jdk8-1773f1fd0fac.tar.gz$ make

No CONF given, but more than one configuration found in /home/bule/JDK/jdk8-1773f1fd0fac.tar.gz//build.

Available configurations:

* linux-x86_64-normal-server-fastdebug

* linux-x86_64-normal-server-release

Please retry building with CONF=<config pattern> (or SPEC=<specfile>)

Makefile:55: *** Cannot continue. Stop. (需要指定哪種編譯器配置/我的是上面兩種64位的模式)

 

bule@sky:~/JDK/jdk8-1773f1fd0fac.tar.gz$ make CONF=linux-x86_64-normal-server-release

 

編譯成功

----- Build times -------

Start 2016-11-26 11:03:49

End 2016-11-26 11:18:12

00:00:21 corba

00:10:23 hotspot

00:00:16 jaxp

00:00:21 jaxws

00:02:35 jdk

00:00:27 langtools

00:14:23 TOTAL

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

Finished building OpenJDK for target 'default'

bule@sky:~/JDK/jdk8-1773f1fd0fac.tar.gz

 

bule@sky:~/JDK/jdk8-1773f1fd0fac.tar.gz/build/linux-x86_64-normal-server-fastdeb

ug/jdk/bin$ ./java -version

openjdk version "1.8.0-internal"

OpenJDK Runtime Environment (build 1.8.0-internal-fastdebug-bule_2016_11_26_10_59-b00)

OpenJDK 64-Bit Server VM (build 25.71-b00-fastdebug, mixed mode)

 

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

8.加入Ubuntu切換版本

 

sudo update-alternatives --install /usr/bin/java java /home/bule/JDK/jdk8-1773f1fd0fac.tar.gz/build/linux-x86_64-normal-server-release/jdk/bin/java 300

 

sudo update-alternatives --install /usr/bin/javac javac /home/bule/JDK/jdk8-1773f1fd0fac.tar.gz/build/linux-x86_64-normal-server-release/jdk/bin/javac 300

 

sudo update-alternatives --install /usr/bin/javap javap /home/bule/JDK/jdk8-1773f1fd0fac.tar.gz/build/linux-x86_64-normal-server-release/jdk/bin/javap 300

 

sudo update-alternatives --install /usr/bin/javah javah /home/bule/JDK/jdk8-1773f1fd0fac.tar.gz/build/linux-x86_64-normal-server-release/jdk/bin/javah 300

 

sudo update-alternatives --install /usr/bin/jar jar /home/bule/JDK/jdk8-1773f1fd0fac.tar.gz/build/linux-x86_64-normal-server-release/jdk/bin/jar 300

 

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

9.選擇切換的版本

sudo update-alternatives --config java

sudo update-alternatives --config javac

sudo update-alternatives --config javah

sudo update-alternatives --config javap

sudo update-alternatives --config jar

sudo update-alternatives --config javadoc

 

10.查看

bule@sky:~$ java -version

openjdk version "1.8.0-internal"

OpenJDK Runtime Environment (build 1.8.0-internal-bule_2016_11_26_10_58-b00)

OpenJDK 64-Bit Server VM (build 25.71-b00, mixed mode)

 

11.編譯Android 7.0工程

bule@sky:~/workspace/jianwen.fu/jianwen.fu/V65_7.0$ make

build/core/config.mk:600: *** Error: could not find jdk tools.jar at /home/bule/JDK/jdk8-1773f1fd0fac.tar.gz/build/linux-x86_64-normal-server-release/jdk/bin/../lib/tools.jar, please check if your JDK was installed correctly. Stop.

 

Android工程的build/core/config.mk 需要在jdk/bin/../lib目錄中有tools.jar文件,但是編譯的源碼是沒有的,那么查看ubuntu目錄帶有的

bule@sky:~$ find /usr/lib/jvm -name tools.jar

/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64/lib/tools.jar

拷貝tools.tar到/home/bule/JDK/jdk8-1773f1fd0fac.tar.gz/build/linux-x86_64-normal-server-release/jdk/bin/../lib/目錄中

 

 

12.此時大功告成,可以放心的編譯Android 7.0的工程

 

 

 

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 姜堰市| 金塔县| 曲靖市| 哈巴河县| 周口市| 洱源县| 阿克陶县| 祁阳县| 宁海县| 高雄市| 都江堰市| 义马市| 丘北县| 沁源县| 枣庄市| 乃东县| 内江市| 邮箱| 广宗县| 松滋市| 江门市| 沁源县| 措美县| 湖南省| 安丘市| 武威市| 金华市| 高尔夫| 嘉定区| 合山市| 丹凤县| 静安区| 崇义县| 容城县| 桦川县| 中山市| 滕州市| 中西区| 太康县| 子长县| 贞丰县|