這篇“怎么編譯Android動(dòng)態(tài)庫(kù)”文章的知識(shí)點(diǎn)大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細(xì),步驟清晰,具有一定的借鑒價(jià)值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來(lái)看看這篇“怎么編譯Android動(dòng)態(tài)庫(kù)”文章吧。
網(wǎng)站制作、成都網(wǎng)站建設(shè)的開(kāi)發(fā),更需要了解用戶,從用戶角度來(lái)建設(shè)網(wǎng)站,獲得較好的用戶體驗(yàn)。成都創(chuàng)新互聯(lián)公司多年互聯(lián)網(wǎng)經(jīng)驗(yàn),見(jiàn)的多,溝通容易、能幫助客戶提出的運(yùn)營(yíng)建議。作為成都一家網(wǎng)絡(luò)公司,打造的就是網(wǎng)站建設(shè)產(chǎn)品直銷的概念。選擇成都創(chuàng)新互聯(lián)公司,不只是建站,我們把建站作為產(chǎn)品,不斷的更新、完善,讓每位來(lái)訪用戶感受到浩方產(chǎn)品的價(jià)值服務(wù)。Linux 系統(tǒng):
ubuntu18.04
NDK
ndk/android-ndk-r21b
FFmpeg
ffmpeg-4.3.2
ffmpeg 下載后的文件名
ffmpeg_4.3.2.orig.tar.xz
解壓方式
tar xvJf ffmpeg_4.3.2.orig.tar.xz
在 root 權(quán)限下操作
新建文件 build_android.sh
#!/bin/bash# ndk路徑NDK=/home/build/workspace/hqq/vision/vision-app/ndk/android-ndk-r21b# 編譯工具鏈目錄,ndk17版本以上用的是clang,以下是gccTOOLCHAIN=$NDK/toolchains/llvm/prebuilt/linux-x86_64# 版本號(hào)API=21# 交叉編譯樹(shù)的根目錄(查找相應(yīng)頭文件和庫(kù)用)SYSROOT="${TOOLCHAIN}/sysroot"# 定義執(zhí)行configure的shell方法function build_android() { ./configure \ --prefix=$PREFIX \ --enable-shared \ --disable-static \ --enable-jni \ --enable-gpl \ --enable-small \ --disable-doc \ --disable-programs \ --disable-symver \ --target-os=android \ --arch=$ARCH \ --cpu=$CPU \ --cc=$CC \ --cxx=$CXX \ --enable-cross-compile \ --cross-prefix=$CROSS_COMPILE \ --sysroot=$SYSROOT \ --extra-cflags="-Os -fpic $OPTIMIZE_CFLAGS" \ --extra-ldflags="" \ --disable-asm \ $COMMON_FF_CFG_FLAGS make clean make -j16 make install}# armOUTPUT_FOLDER=armARCH=armCPU=armv7-aTOOL_CPU_NAME=armv7aTOOL_PREFIX=$TOOLCHAIN/bin/${TOOL_CPU_NAME}-linux-androideabiOPTIMIZE_CFLAGS="-marm -march=$CPU"PREFIX=${PWD}/android/$OUTPUT_FOLDERCROSS_COMPILE=$TOOLCHAIN/bin/arm-linux-androideabi-CC=${TOOL_PREFIX}${API}-clangCXX=${TOOL_PREFIX}${API}-clang++build_android# arm64,這個(gè)指令集最低支持api21OUTPUT_FOLDER=arm64-v8aARCH=aarch64CPU=armv8-aTOOL_CPU_NAME=aarch64TOOL_PREFIX=$TOOLCHAIN/bin/${TOOL_CPU_NAME}-linux-androidOPTIMIZE_CFLAGS="-march=$CPU"PREFIX=${PWD}/android/$OUTPUT_FOLDERCROSS_COMPILE=$TOOLCHAIN/bin/aarch64-linux-android-CC=${TOOL_PREFIX}${API}-clangCXX=${TOOL_PREFIX}${API}-clang++build_android# x86OUTPUT_FOLDER=x86ARCH=x86CPU=x86TOOL_CPU_NAME=i686TOOL_PREFIX=$TOOLCHAIN/bin/${TOOL_CPU_NAME}-linux-androidOPTIMIZE_CFLAGS="-march=i686 -mtune=intel -mssse3 -mfpmath=sse -m32"PREFIX=${PWD}/android/$OUTPUT_FOLDERCROSS_COMPILE=$TOOLCHAIN/bin/i686-linux-android-CC=${TOOL_PREFIX}${API}-clangCXX=${TOOL_PREFIX}${API}-clang++build_android# x86_64,這個(gè)指令集最低支持api21OUTPUT_FOLDER=x86_64ARCH=x86_64CPU=x86-64TOOL_CPU_NAME=x86_64TOOL_PREFIX=$TOOLCHAIN/bin/${TOOL_CPU_NAME}-linux-androidOPTIMIZE_CFLAGS="-march=$CPU -mtune=intel -msse4.2 -mpopcnt -m64"# 輸出目錄PREFIX=${PWD}/android/$OUTPUT_FOLDERCROSS_COMPILE=$TOOLCHAIN/bin/x86_64-linux-android-# so的輸出目錄, --libdir=$LIB_DIR 可以不用指定,默認(rèn)會(huì)生成在$PREFIX/lib目錄中#LIB_DIR="${PWD}/android/libs/$OUTPUT_FOLDER"# 編譯器CC=${TOOL_PREFIX}${API}-clangCXX=${TOOL_PREFIX}${API}-clang++build_android
修改文件權(quán)限
chmod 777 build_android.sh
執(zhí)行 build_android.sh
可編譯出 "armeabi-v7a", "arm64-v8a", "x86", "x86_64"
假如編譯失敗,在打開(kāi)文件粘貼時(shí)
:set ff #查看文件的格式會(huì)看到fileformat=dos 或者者 fileformat=unix
:set ff=unix #設(shè)置為unix格式
:wq #保存退出
取 .so 庫(kù)放到 Android 項(xiàng)目中
android_ffmpeg_lib
taxiao213/android_ffmpeg_lib
以上就是關(guān)于“怎么編譯Android動(dòng)態(tài)庫(kù)”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對(duì)大家有幫助,若想了解更多相關(guān)的知識(shí)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
分享名稱:怎么編譯Android動(dòng)態(tài)庫(kù)-創(chuàng)新互聯(lián)
標(biāo)題來(lái)源:http://aaarwkj.com/article12/ieigc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、軟件開(kāi)發(fā)、搜索引擎優(yōu)化、Google、虛擬主機(jī)、標(biāo)簽優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容