当前位置:首页 » 安卓系统 » androidcmakendk

androidcmakendk

发布时间: 2023-02-08 12:26:24

1. 使用cmake/make打包Android 动态库

打包需要使用cmake是AndroidSdk目录下的
${ANDROID_HOME}/cmake/3.6.4111459/bin/cmake

参数:
-H

-B

-DANDROID_NDK

-DCMAKE_LIBRARY_OUTPUT_DIRECTORY

-DCMAKE_MAKE_PROGRAM

-DCMAKE_TOOLCHAIN_FILE

-DANDROID_ABI

-DCMAKE_BUILD_TYPE

-DANDROID_NATIVE_API_LEVEL 最低支持的Api版本
-DANDROID_TOOLCHAIN

-DCMAKE_GENERATOR

打包所有abi的脚本例子:

2. android studio 2.2.2 32位怎么配置ndk cmake环境

编译mac静态库 这个比较简单,直接Xcode -GXcode,然后用xcodebuild命令即可。 编译Andoird静态库 编译android库我们同样可以引入一个toolchain文件,这里我是从 android-cmake 里面下载的。 在使用这个toolchain文件之前,我们先要使用ndk自带的make-standalone-toolchain.sh脚本来生成对应平台的toolchain.这个脚本位于你的NDK的路径下面的buil/tools目录下。 比如要生成arm平台的toolchain,我们可以使用下列命令: sh $ ANDROID_NDK / build / tools / make - standalone - toolchain . sh -- platform = android - $ANDROID_API_LEVEL -- install - dir = . / android - toolchain -- system = darwin - x86_64 -- ndk - dir = /Users / guanghui / AndroidDev / android - ndk - r9d / -- toolchain = arm - linux - androideabi - 4.8 这里的$ANDROID_NDK为你的NDK的安装路径。这段命令可以生成arm的toolchain,最终可以编译出armeabi和armeabi-v7a静态库。 如果想生成x86的toolchain,指需要使用下列命令: sh $ ANDROID_NDK / build / tools / make - standalone - toolchain . sh -- platform = android - $ANDROID_API_LEVEL -- install - dir = . / android - toolchain - x86 -- system = darwin - x86_64 -- ndk - dir= / Users / guanghui / AndroidDev / android - ndk - r9d / -- toolchain = x86 - 4.8 最后,我们要告诉CMake使用外部toolchain文件,可以使用参数-DCMAKE_TOOLCHAIN_FILE=xxx。此外,我们还需要在导出两个环境变量给此toolchain文件: ...编译mac静态库 这个比较简单,直接Xcode -GXcode,然后用xcodebuild命令即可。 编译Andoird静态库 编译android库我们同样可以引入一个toolchain文件,这里我是从 android-cmake 里面下载的。 在使用这个toolchain文件之前,我们先要使用ndk自带的make-standalone-toolchain.sh脚本来生成对应平台的toolchain.这个脚本位于你的NDK的路径下面的buil/tools目录下。 比如要生成arm平台的toolchain,我们可以使用下列命令: sh $ ANDROID_NDK / build / tools / make - standalone - toolchain . sh -- platform = android - $ANDROID_API_LEVEL -- install - dir = . / android - toolchain -- system = darwin - x86_64 -- ndk - dir = /Users / guanghui / AndroidDev / android - ndk - r9d / -- toolchain = arm - linux - androideabi - 4.8 这里的$ANDROID_NDK为你的NDK的安装路径。这段命令可以生成arm的toolchain,最终可以编译出armeabi和armeabi-v7a静态库。 如果想生成x86的toolchain,指需要使用下列命令: sh $ ANDROID_NDK / build / tools / make - standalone - toolchain . sh -- platform = android - $ANDROID_API_LEVEL -- install - dir = . / android - toolchain - x86 -- system = darwin - x86_64 -- ndk - dir= / Users / guanghui / AndroidDev / android - ndk - r9d / -- toolchain = x86 - 4.8 最后,我们要告诉CMake使用外部toolchain文件,可以使用参数-DCMAKE_TOOLCHAIN_FILE=xxx。此外,我们还需要在导出两个环境变量给此toolchain文件: export PATH = $ PATH : . / android - toolchain / bin export ANDROID_STANDALONE_TOOLCHAIN = . / android - toolchain cmake - DCMAKE_TOOLCHAIN_FILE = . . / android . toolchain . cmake - DANDROID_ABI = "armeabi" . .收起

3. Android Studio手动配置Makefile、CMake

在Ubutu上编译出来的.so文件,怎么添加到Android项目中去使用呢?目前:可以通过
Makefile方式和CMake方式引入预编译静动态库(静态库.a 动态库.so)到项目中去使用。就目前而言CMake是Goole推荐使用方式,但是加入接手一个老的NDK项目是MakeFile方式,看不懂就GePi了,所以这里我们还是介绍一下MakeFile方式将静动态库加入到AS中,完成NDK项目的开发。废话不多说,直接撸步骤了:

1、在src/main目录下创建一个ndkBuild文件夹
2、在此文件中创建一个Android.mk文件

3、在此文件中创建一个test.c的源文件

4、将编译好的的.so库复制到src/main目录下
如图所示目录结构:

1、编辑Android.mk文件

2、编辑grade(app)文件

3、编辑test.c文件

4、使用编译好的.so库里面的函数

本结果运行在Android 5.1 系统上

再次运行在Android 8.0系统上

看以清楚知道,其实我们的APK包里面就没有libMainTest.so库,所以APP在8.0上会出现奔溃的现象。so...

1、在src/main目录下创建一个cmake文件夹
include:里面包含需要一些头文件
cmakeTest.c:需要编译的源文件
2、在app目录下创建一个文件:CmakeLists.txt

3、编辑grade(app)

4、编辑cmakeTest.c文件

4、引用编译好的libcmakeTest.so

Android 8.0.0系统:

Android 5.1.1系统:

热点内容
java返回this 发布:2025-10-20 08:28:16 浏览:585
制作脚本网站 发布:2025-10-20 08:17:34 浏览:881
python中的init方法 发布:2025-10-20 08:17:33 浏览:574
图案密码什么意思 发布:2025-10-20 08:16:56 浏览:761
怎么清理微信视频缓存 发布:2025-10-20 08:12:37 浏览:677
c语言编译器怎么看执行过程 发布:2025-10-20 08:00:32 浏览:1005
邮箱如何填写发信服务器 发布:2025-10-20 07:45:27 浏览:249
shell脚本入门案例 发布:2025-10-20 07:44:45 浏览:108
怎么上传照片浏览上传 发布:2025-10-20 07:44:03 浏览:799
python股票数据获取 发布:2025-10-20 07:39:44 浏览:705