1.安装sz和rz
root 账号登陆后,依次执行以下命令:
wget http://www.ohse.de/uwe/releases/lrzsz-0.12.20.tar.gz
tar zxvf lrzsz-0.12.20.tar.gz
cd lrzsz-0.12.20
./configure && make && make install
上面安装过程默认把lsz和lrz安装到了/usr/local/bin/目录下,现在我们并不能直接使用, 下面创建软链接,并命名为rz/sz:
cd /usr/local/bin 【安装到这里来】
ln -s /usr/local/bin/lrz rz 【设置快捷方式 相当于win】
ln -s /usr/local/bin/lsz sz 【设置快捷方式 相当于win】
2.下载NDK
//下载
wget https://dl.google.com/android/repository/android-ndk-r17c-linux-x86_64.zip? hl=zh_cn
//改名字
mv android-ndk-r17c-linux-x86_64.zip?hl=zh_cn android-ndk-r17c-linux- x86_64.zip
// 解压
unzip android-ndk-r17c-linux- x86_64.zip
3.交叉编译
1 2 3 4 5 6 7 8
| # gcc export NDK_GCC="/home/jackou/tools/android-ndk-r17c/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/bin/aarch64-linux-android-gcc"
# --sysroot=路径(自动寻找 头文件,库文件.h/.a/.so) # -isystem 路径(自动寻找 头文件) export GCC_PATH="--sysroot=/home/jackou/tools/android-ndk-r17c/platforms/android-21/arch-arm64 -isystem /home/jackou/tools/android-ndk-r17c/sysroot/usr/include -isystem /home/jackou/tools/android-ndk-r17c/sysroot/usr/include/aarch64-linux-android"
$NDK_GCC -pie $GCC_PATH main.c -o mainexe
|
4.配置环境变量
1 2 3 4 5 6 7 8 9
| #vim /etc/profile
export NDK="/home/jackou/tools/android-ndk-r17c"
export PATH=$NDK:$PATH
export NDK_GCC_arm_64="$NDK/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/bin/aarch64-linux-android-gcc"
export NCK_CFIG_arm_64="--sysroot=$NDK/platforms/android-21/arch-arm64 -isystem $NDK/sysroot/usr/include -isystem $NDK/sysroot/usr/include/aarch64-linux-android"
|
5.编译动态库
1 2 3
| #include<studio.h> int get();
|
1 2 3 4 5
| #include "get.h" int get(){ return 666; }
|
1 2
| #编译 $NDK_GCC_arm_64 $NCK_CFIG_arm_64 -fPIC -shared get.c -o libgetndk.so
|
6.编译静态库
1 2
| #配置环境 export NDK_AR_arm_64="$NDK/toolchains/aarch64-linux-android-4.9/prebuilt/linux- x86_64/bin/aarch64-linux-android-ar"
|
1 2
| # 生成目标文件 $NDK_GCC_arm_64 $NCK_CFIG_arm_64 -fPIC -c get.c -o getndk.o
|
1 2
| # 生成静态库 $NDK_AR_arm_64 rcs -o libgetndk.a getndk.o
|
7.AS引入库
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| cmake_minimum_required(VERSION 3.4.1)
# 批量导入 file(GLOB allCPP *.cpp) add_library( native-lib SHARED ${allCPP} )
find_library( log-lib log )
# 导入静态库 add_library(getndk STATIC IMPORTED) # 真正导入 静态库 set_target_properties(getndk PROPERTIES IMPORTED_LOCATION ${CMAKE_SOURCE_DIR}/libgetndk.a)
# 导入动态库 add_library(getndk SHARED IMPORTED) set_target_properties(getndk PROPERTIES IMPORTED_LOCATION ${CMAKE_SOURCE_DIR}/../jniLibs/${CMAKE_ANDROID_ARCH_ABI}/libgetndk.so)
# set(CMAKE_CXX_FLAGS )
target_link_libraries( native-lib ${log-lib} getndk # 链接此静态库到总库 libnative-lib.so )
|
版权声明: 此文章版权归Jack Ou所有,如有转载,请註明来自原作者