2024-12-20
CPP
00

目录

安装CMake:
安装Java支持:
安装Android NDK:
配置环境变量:
验证NDK是否成功配置:
配置Python支持:
获取并准备OpenCV源代码:
运行CMake配置:
编译:

标题:如何在Android Java的Ubuntu系统上编译出libopencv_java4.so

安装CMake:

bash
cd ~ wget https://github.com/Kitware/CMake/releases/download/v3.30.3/cmake-3.30.3-linux-x86_64.tar.gz tar -xzvf cmake-3.30.3-linux-x86_64.tar.gz sudo ln -sf $(pwd)/cmake-3.30.3-linux-x86_64/bin/* /usr/bin/ cmake --version

安装Java支持:

bash
sudo apt-get install ant openjdk-8-jdk -y

安装Android NDK:

bash
wget https://dl.google.com/android/repository/android-ndk-r27b-linux.zip unzip android-ndk-r27b-linux.zip

配置环境变量:

~/.bashrc文件中添加以下内容:

bash
export ANDROID_NDK=/ssd/xiedong/android-ndk-r27b export PATH=$PATH:$ANDROID_NDK export ANT_HOME=/usr/bin/ant export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 export PATH=$ANT_HOME:$JAVA_HOME/bin:$PATH

然后使其生效:

bash
source ~/.bashrc

验证NDK是否成功配置:

bash
$ANDROID_NDK/ndk-build --version # 返回以下信息即表示成功: # GNU Make 4.3 # Built for x86_64-pc-linux-gnu # Copyright (C) 1988-2020 Free Software Foundation, Inc. # License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> # This is free software: you are free to change and redistribute it. # There is NO WARRANTY, to the extent permitted by law.

配置Python支持:

确保安装了Python3.2以上版本的miniconda3,具体安装过程这里略。

获取并准备OpenCV源代码:

bash
git clone https://github.com/opencv/opencv.git --depth 1 git clone https://github.com/opencv/opencv_contrib.git --depth 1 mkdir build && cd build

运行CMake配置:

bash
cmake -D CMAKE_BUILD_TYPE=RELEASE \ -D CMAKE_BUILD_WITH_INSTALL_RPATH=ON \ -D ANDROID_ABI=arm64-v8a \ -D ANDROID_PLATFORM=android-21 \ -D CMAKE_TOOLCHAIN_FILE=$ANDROID_NDK/build/cmake/android.toolchain.cmake \ -D OPENCV_ENABLE_NONFREE=ON \ -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules \ -D BUILD_opencv_freetype=ON \ -D WITH_FREETYPE=ON \ -D ENABLE_CXX11=ON \ -D BUILD_TESTS=OFF \ -D BUILD_EXAMPLES=OFF \ -D BUILD_ANDROID_PROJECTS=OFF \ -D BUILD_SHARED_LIBS=ON \ -D WITH_OPENCL=OFF \ -D BUILD_opencv_java=ON \ -D BUILD_opencv_java_bindings_generator=ON \ -D OPENCV_GENERATE_PKGCONFIG=ON \ -D ANT_EXECUTABLE=/usr/bin/ant \ ..

如果看到以下信息,说明Java环境配置有误:

plaintext
-- Java: -- ant: NO -- Java wrappers: NO -- Java tests: NO

编译:

bash
make -j$(nproc)

当日志中出现如下提示时,表示编译成功:

plaintext
[100%] Linking CXX shared module ../../../jni/arm64-v8a/libopencv_java4.so

通过以上步骤,你就可以在Android Java环境下的Ubuntu系统中成功编译出libopencv_java4.so库了。

如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay

本文作者:Dong

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC。本作品采用《知识共享署名-非商业性使用 4.0 国际许可协议》进行许可。您可以在非商业用途下自由转载和修改,但必须注明出处并提供原作者链接。 许可协议。转载请注明出处!