嵌入式arm linux Java运行环境搭建和注意事项

嵌入式arm linux Java运行环境搭建和注意事项

  • 我的开发硬件环境
  • 搭建步骤
    • 1. 下载 ORacle 公司的ejdk-8u211-linux-arm-sflt.tar.gz(软件浮点版本,这个很重要,根据自己的板子硬件选。不知到就只有一个个试试) (下载地址:[link](https://www.oracle.com/java/technologies/java-se-embedded-archive-downloads.html))
    • 2. 按照documentation 的 quick installation 安装即可
    • 3. 从tar包中提取软件:
    • 4. 验证安装(之前有一步配置ejdk的环境变量,其实可以不用进行) 转到ejdk的bin目录下,执行 ```
    • 5. 创建在嵌入式linux可用的 jre ([Create Your JRE with jrecreate](https://docs.oracle.com/javase/8/embedded/develop-apps-platforms/jrecreate.htm#CACEFBDE))
    • 6. 将生成的jre 拷贝到你的嵌入式板子上,比如/usr/ 目录下。然后设置环境变量。在/etc/profile中添加:
    • 7. 验证是否安装成功:
  • 注意事项
    • 验证安装 出现 Java :not found
      • 1.考虑环境变量是否配置正确(配置完profile 接的source一下,更新环境变量)
      • 2. 考虑 共享库是否都有 在pc的linux上用 readelf -d java 查看jre/bin目录下的java文件,可以看到java运行需要的共享库,可以看见 java这个程序 需要:
      • 3.确保第一步执行正确的话,考虑ejdk 版本(我之前为了在这个板子上搭环境,试了很多个版本,版本的区别主要是 硬件浮点和软件浮点,以及gcc的参数。最后发现我的板子适合软件浮点的版本 全名:ejdk-8u211-linux-arm-sflt.tar.gz [下载地址](https://www.oracle.com/java/technologies/javaseembedded8u211-downloads.html))
      • 4. 这里的选型只是参考,要根据你板子来选。不知道的话就只有像我一样一个个试,4412虽然有硬件浮点功能,可不知道怎么就是用不了硬件浮点的版本。希望有大神可以给我解答下。
  • java应用程序开发ing
    • 要注意pc上的jdk版本要和开发板的jre版本相同,不能跨版本

我的开发硬件环境

tiny4412,友善之臂的开发板

搭建步骤

1. 下载 ORacle 公司的ejdk-8u211-linux-arm-sflt.tar.gz(软件浮点版本,这个很重要,根据自己的板子硬件选。不知到就只有一个个试试) (下载地址:link)

2. 按照documentation 的 quick installation 安装即可

参考 link:2 Quick Start for Platform Developers

3. 从tar包中提取软件:

 $ cd /usr
 $ gunzip *.gz
 $ tar -xvf *.tar
 List of unpacked files ...

4. 验证安装(之前有一步配置ejdk的环境变量,其实可以不用进行) 转到ejdk的bin目录下,执行 ```

bin/jrecreate.sh --help
$ cd $EJDK_HOME
$ bin/jrecreate.sh --help
Usage: jrecreate --help

5. 创建在嵌入式linux可用的 jre (Create Your JRE with jrecreate)

使用bin目录下的jrecreate.sh 脚本创建,详细参数可见上述链接
参数的主要区别是 安装什么功能的java 环境,可以考虑自己的硬件资源,选择合适的参数。我发现完整版的jre大概35M左右,板子还是能用的,所以使用的是完整安装:
$ bin/jrecreate.sh --dest   (+你安装的路径/jre)   //这条命令会在你设置的目录下创建 jre 目录。也就是我们要的目录
// 显示如下:(具体参数的值根据你选则的版本和脚本执行参数不一样而不同)
Building JRE using options Options {
    ejdk-home: /home/xxxx/ejdk/ejdk
    dest: /tmp/testjre
    target: linux_i586     
    vm: minimal    
    runtime: compact1 profile
    debug: false
    keep-debug-info: false
    no-compression: false
    dry-run: false
    verbose: false
    extension: []
}

6. 将生成的jre 拷贝到你的嵌入式板子上,比如/usr/ 目录下。然后设置环境变量。在/etc/profile中添加:

export  JAVA_HOME=/usr/jre/
export PATH=$PATH:${JAVA_HOME}/bin

7. 验证是否安装成功:

$ java -version   //若有提示信息输出则成功。

注意事项

验证安装 出现 Java :not found

1.考虑环境变量是否配置正确(配置完profile 接的source一下,更新环境变量)

2. 考虑 共享库是否都有 在pc的linux上用 readelf -d java 查看jre/bin目录下的java文件,可以看到java运行需要的共享库,可以看见 java这个程序 需要:

嵌入式arm linux Java运行环境搭建和注意事项_第1张图片自己取自己的arm linux 的根文件系统中的lib文件夹中找打需要的库拷贝到开发板jre/lib/arm下就可以了

3.确保第一步执行正确的话,考虑ejdk 版本(我之前为了在这个板子上搭环境,试了很多个版本,版本的区别主要是 硬件浮点和软件浮点,以及gcc的参数。最后发现我的板子适合软件浮点的版本 全名:ejdk-8u211-linux-arm-sflt.tar.gz 下载地址)

嵌入式arm linux Java运行环境搭建和注意事项_第2张图片

4. 这里的选型只是参考,要根据你板子来选。不知道的话就只有像我一样一个个试,4412虽然有硬件浮点功能,可不知道怎么就是用不了硬件浮点的版本。希望有大神可以给我解答下。

java应用程序开发ing

要注意pc上的jdk版本要和开发板的jre版本相同,不能跨版本

你可能感兴趣的:(嵌入式Linux)