libwebsocket的交叉編譯android ndk

libwebsocket的交叉編譯android ndk

ndk版本

android-ndk-r17

libwebsocket版本

git clone https://github.com/warmcat/libwebsockets.git -b v2.3-stable

編譯腳本

 

#!/bin/bash
rm -rf CMakeCache.txt
rm -rf CMakeFiles
rm -rf cmake_install.cmake
rm -rf Makefile
rm -rf CTestTestfile.cmake
​
export ANDROID_NDK_HOME="/home/public/lingxu/android-ndk-r17-beta2"
 
if [[ “$@“ =~ "-d" ]];then
        echo "----------------------------cmake debug----------------------------"
cmake -DDEBUG=ON -DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK_HOME/build/cmake/android.toolchain.cmake \
      -DANDROID_NDK=$ANDROID_NDK_HOME \
      -DANDROID_ABI=armeabi-v7a \
      -DANDROID_TOOLCHAIN=gcc \
      -DANDROID_PLATFORM=android-17 \
      -DANDROID_STL=c++_shared \
      -DLWS_WITHOUT_DAEMONIZE=ON \
      -DLWS_WITHOUT_TESTAPPS=ON \
      -DLWS_IPV6=OFF \
      -DLWS_WITH_BUNDLED_ZLIB=OFF \
      -DLWS_WITH_SSL=ON  \
      -DLWS_WITH_HTTP2=ON \
      -DLWS_OPENSSL_INCLUDE_DIRS=../openssl/include \
      -DLWS_OPENSSL_LIBRARIES="../openssl/lib/libssl.a;../openssl/lib/libcrypto.a" \
      .   
else      
        echo "----------------------------cmake release----------------------------"
cmake -DDEBUG=NO -DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK_HOME/build/cmake/android.toolchain.cmake \
      -DANDROID_NDK=$ANDROID_NDK_HOME \
      -DANDROID_ABI=armeabi-v7a \
      -DANDROID_TOOLCHAIN=gcc \
      -DANDROID_PLATFORM=android-17 \
      -DANDROID_STL=c++_shared \
      -DLWS_WITHOUT_DAEMONIZE=ON \
      -DLWS_WITHOUT_TESTAPPS=ON \
      -DLWS_IPV6=OFF \
      -DLWS_WITH_BUNDLED_ZLIB=OFF \
      -DLWS_WITH_SSL=ON  \
      -DLWS_WITH_HTTP2=ON \
    -DLWS_OPENSSL_INCLUDE_DIRS="/home/kuili/linux_tingjian/android/linux/case/apps/wpa_cli/openssl/include" \
    -DLWS_OPENSSL_LIBRARIES="/home/kuili/linux_tingjian/android/linux/case/images/rootfs/lib/libssl.so;/home/kuili/linux_tingjian/android/linux/case/images/rootfs/lib/libcrypto.so" \
      .  
fi
      
make 
 
rm -rf CMakeCache.txt
rm -rf CMakeFiles
rm -rf cmake_install.cmake
rm -rf Makefile
rm -rf CTestTestfile.cmake

 

驗證

編譯產物爲libwebsocket.a和libwebsocket.so庫,注意根據自帶的測試代碼驗證編譯的庫是否正常運行在目標設備上

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章