Mac下编译JRTPLIB源码 For Android

一.工欲善其事必先利其器:

1.官网下载JthreadJrtplib

2.通过 "brew install ninja" 命令安装ninja

二.解压下载的Jthread与Jrtplib压缩包并参考GitHub的文档编写cmake文件:

1.在Jthread解压出的目录下创建toolchain.cmake并添加内容

set(CMAKE_SYSTEM_NAME Android)
set(CMAKE_SYSTEM_VERSION 21) # API level
set(CMAKE_ANDROID_ARCH_ABI armeabi-v7a)
set(CMAKE_ANDROID_NDK android_ndk_path)
set(CMAKE_ANDROID_STL_TYPE gnustl_static)

set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)

set(CMAKE_C_COMPILER clang)
set(CMAKE_CXX_COMPILER clang++)

为便于观察我创建了一个文件夹以存放编译出来的文件

mkdir android_build
cd android_build
mkdir android_jthread

执行ninja进行编译

cmake -DCMAKE_TOOLCHAIN_FILE=../toolchain.cmake -DCMAKE_INSTALL_PREFIX=./android_jthread -DCMAKE_FIND_ROOT_PATH=./android_jthread -G "Ninja" .. && ninja && ninja install

2.在Jrtplib目录下创建toolchain.cmake并添加内容

set(CMAKE_SYSTEM_NAME Android)
set(CMAKE_SYSTEM_VERSION 21) # API level
set(CMAKE_ANDROID_ARCH_ABI armeabi-v7a)
set(CMAKE_ANDROID_NDK android_ndk_path)
set(CMAKE_ANDROID_STL_TYPE gnustl_static)

set(CMAKE_FIND_ROOT_PATH android_jthread_path)

set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)

set(CMAKE_C_COMPILER clang)
set(CMAKE_CXX_COMPILER clang++)

为便于观察同样创建一个文件夹以存放编译出来的文件

mkdir android_build
cd android_build
mkdir android_jrtplib

执行ninja进行编译

cmake -DCMAKE_TOOLCHAIN_FILE=../toolchain.cmake -DCMAKE_INSTALL_PREFIX=./android_jrtplib -G "Ninja" .. && ninja && ninja install

三.连上android设备进行测试是否可用

adb root
adb remount
adb disable-verity
adb push example1_path /system/bin/
adb push libjthread.so_path /system/lib/
adb shell
cd /system/lib
LD_LIBRARY_PATH=.
export LD_LIBRARY_PATH
quit
adb shell example1

执行效果如下图:

至此完毕。

备注橙色需要按照自己的真实路径进行配置。

         绿色需要按照自己的需要的abi进行配置,其中包含:

'86', 'x86_64', 'mips', 'mips64'  'armeabi' ,'armeabi-v7a',  'arm64-v8a'

猜你喜欢

转载自blog.csdn.net/wastedsoul/article/details/80860755