目录
一、前言
因为项目移植Linux,所以需要在Linux中重新编译JCEF,在网络上也找了很多的资源,没有完全解决编译时的问题,遂将完全安装过程记录,以供大家参考。
二、安装过程
1.系统准备
-
VMware Workstation Pro(官网下载地址)
-
Ubuntu 20.04 LTS(官网下载地址)
ubuntu20.04 切换 root用户登录系统(实测有效)
第一步:
以普通用户登录系统,创建root用户的密码
在终端输入命令:
sudo passwd root
然后输入设置的密码,输入两次,这样就完成了设置root用户密码了
第二步:
修改文件sudo gedit /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf
在文件末尾增加如下两行:
greeter-show-manual-login=true
all-guest=false
第三步:
修改 /etc/pam.d/gdm-autologin及/etc/pam.d/gdm-password两个文件
sudo gedit /etc/pam.d/gdm-autologin
注释掉auth required pam_succeed_if.so user != root quiet_success这一行(第三行左右)
sudo gedit /etc/pam.d/gdm-password
注释掉 auth required pam_succeed_if.so user != root quiet_success这一行(第三行左右)
第四步:
修改/root/.profile文件
sudo gedit /root/.profile
将文件末尾的mesg n 2> /dev/null || true这一行修改成
tty -s&&mesg n || true
重启系统
vmware-tools安装
cp 虚拟光驱中tar.gz到opt
tar -xzvf ****.tar.gz
./***.pl 安装后重启才生效
2.环境准备
可以先执行sudo apt-get update一下更新源
- CMake version 2.8.12.2 or newer (apt install cmake)
- Git.(apt install git)
- Java version 1.7 or newer.( sudo apt-get install openjdk-8-jdk)检查/usr/lib/jvm/java-8-jdk..include下面有没有jawt.h
- Python version 2.6 or newer in the 2.x series (3.x is not supported) (Python 2.6或2.x系列的更高版本,不支持 3.x 系列)(apt install python)
-
For Linux platforms:(对于 Linux 平台:)
Currently supported distributions include Debian Wheezy, Ubuntu Precise, and related. Newer versions will likely also work but may not have been tested. Required packages include: build-essential, libgtk2.0-dev.
(目前支持的发行版包括debian-wheezy、ubuntu-precise和related。较新的版本可能也会工作,但可能尚未测试。必需的包包括:build-essential(后面cmake报错安装后解决),libgtk2.0-dev(已装,没有报错)。)
3.开始安装
- 使用git下载JCEF源码:
#The JCEF source code will exist at `/opt/java-cef/src`(自定义路径 )
cd `/opt/java-cef
git clone https://bitbucket.org/chromiumembedded/java-cef.git src
-
下载成功后打开src/CMakeLists.txt
-
注释下载(因为在线下载太慢,或者下载不成功,如果能正常下载就不用这两步)
- 获取cef版本号(81.2.24+gc0b313d+chromium-81.0.4044.113)下载对应的版本放到src/third_party/cef/下面
cd /opt/java-cef/src
mkdir jcef_build && cd jcef_build
export JAVA_HOME=/usr/lib/jvm/java-7-oracle(对应jdk安装目录)
cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release ..
问题:
问题:1.
后面CMake时报 No CMAKE_CXX_COMPILER could be found.
Tell CMake where to find the compiler by setting either the environment
variable “CXX” or the CMake cache entry CMAKE_CXX_COMPILER to the full path
to the compiler, or to the compiler name if it is in the PATH.
解决方案:
sudo apt-get update
sudo apt-get install -y build-essential (前面提到两个包,如果这个包装了就不会报错)
此处测试下载最新版本cef,测试(需要修改CMakeLists.txt里的版本号)
问题:2.
解决:配置java_home
在末尾添加
#你的JDK的路径
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
保存退出
退出以后执行 source /etc/profile
重启测试,(不成功)
2.cd ~
gedit .bashrc
在末尾添加
JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/
export JAVA_HOME
PATH=$PATH:$JAVA_HOME
export PATH
保存退出
退出以后执行 source .bashrc(不成功)
3.重装jdk不成功
4.jawt.h自动安装没有这个文件,选择手动安装jdk1.8
gedit /etc/profile
在末尾添加
#你的JDK的路径
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
保存退出
退出以后执行 source /etc/profile
失败
5.sudo apt-get install -y openjdk-8-jdk
sudo apt-get install -y default-jdk
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
失败
6.重装jdk(成功)
安装时使用(sudo apt-get install openjdk-8-jdk)安装成功检查/usr/lib/jvm/java-8-openjdk-amd64/include里有没有jawt.h否定还是会报错
-
# Build using Make.
make -j4
-
在windows或者linux上,使用compile.[bat|sh]工具来build JCEF的JAVA classes,在MAC上不需要如下步骤,因为java classes已经被cmake生成
cd /opt/java-cef/src/tools
./compile.sh linux64
- 测试结果是否正确。(报缺少libjawt.so,找到复制到libjcef.so同目录)使用 run.[bat|sh] 工具来测试JCEF是否工作。
cd /opt/java-cef/src/tools
./run.sh linux64 Release detailed
- Manual Packaging(手动打包)修改make_distrib.sh
1.增加 cp -f $OUT_BINARY_PATH/libjawt.so $DISTRIB_LIB_PATH
2.注释# cp -f $OUT_BINARY_PATH/natives_blob.bin $DISTRIB_LIB_PATH
cd /opt/java-cef/src/tools
./make_distrib.sh linux64
# 32 位的命令是
# ./make_distrib.sh linux32
- 完成
cd /opt/java-cef/src/binary_distrib
- Xshell连接:
试过很多种方法最终找到解决的方法
一、常规方法:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
|
参考资料:
已编译版本上传百度网盘:链接:百度网盘 请输入提取码,提取码:q6oc