一 下载NDK,解压并配置PATH
export PATH=$PATH:{NDK path}
二 清楚交叉编译的工具链在哪。输入如下命令:
SYSROOT=$NDK/platforms/android-<level>/arch-<arch>/
$NDK表示NDK安装的路径,level表示Android版本,arch表示硬件结构。均视自己情况而定。
可以通过adb shell cat /proc/cpuinfo 查看需要执行的Android环境。例如:
SYSROOT=$NDK/platforms/android-8/arch-arm
三 设置编译器,输入如下命令:
export CC="$NDK/toolchains/<name>/prebuilt/<system>/bin/<prefix>gcc --sysroot=$SYSROOT"
均视自己情况而定。例如:
export CC="$NDK/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-gcc --sysroot=$SYSROOT"
四 新建jni文件夹
jni下准备好一个C程序,例如下面的HelloWorld.c
#include <stdio.h>
int main(){
printf("Hello world!\n");
return 0;
}
五 再建立一个Android.mk:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := helloworld
LOCAL_SRC_FILES := helloworld.c
include $(BUILD_EXECUTABLE)
六 再建立一个 Application.mk:
APP_PLATFORM :=android-14
APP_PROJECT_PATH := $(call my-dir)
APP_MODULES := helloworld
七 最后执行:
ndk-build NDK_PROJECT_PATH=. APP_BUILD_SCRIPT=./Android.mk NDK_APPLICATION_MK=./Application.mk
如果执行成功,会生成一个libs文件夹,找到自己平台下可用的可执行文件,push到手机上,然后./helloworld 执行就可以了!!
分享到:
相关推荐
android JNI运行NDK编译成的可执行文件。 具体信息参考博客http://blog.csdn.net/csdn49532/article/details/50698666
live555 库 和 testRtspClient.cpp 编译生成静态库 和 可执行文件 testRtspClient 编译方法: 首先进入各个模块执行 Makefile,将静态库拷贝至上层目录 执行 ndk-build
curl库源码添加了curl_config.h和mk文件,可以直接跳转到目录使用ndk-build编译出so库.
详细介绍android ndk编译环境搭建,可以自行编译android app所需的C++/C代码实现的高效率功能动态库文件,借JAVA层调用.
通过ndk编译opencv源码,能够根据自己的需求修改编译对应的opencv库。整个过程重要的也就是写makefile文件进行编译而已。
ubuntu下android ndk编译环境搭建,android应用程序开发,环境编译
openharmony 上 ndk编译
使用Android NDK编译Android平台的eXosip库,有静态库和动态库。
openssl ndk编译的库。可用于Poco编译PocoNetSSL(已验证)或其他场景。
用Android_NDK编译FFmpeg,RTSP手机视频
opus NDK 编译 Android.mk文件 仅供参考
原生lapack是用fortran语言写的,而NDK默认没有fortran编译环境,所以在安卓上想使用强大的lapack进行矩阵、线性代数运算变得十分困难。 最近找到某大神翻译的c语言版lapack,下载下来经过简单调试竟然可以用。 步骤...
arm平台下使用ndk工具交叉编译python,用于android系统;android-arm平台ndk交叉编译python
http://blog.csdn.net/xuie0000/article/details/50470129示例
libunwind ndk编译配置文件
使用ndk编译box2d物理引擎,并将它移植到android上,测试代码为Box2D自带的Example helloworld.
安卓 NDK 编译lua 所需要的所有文件 包含java声明 和C源码 使用方式 我的博客
cd /cygdrive/d/workspace/.../jni //跳转到项目jni目录 /cygdrive/d/android-ndk-r8/ndk-build //编译 /cygdrive/d/android-ndk-r8/ndk-build clean //清除
Android ndk编译demo,在soxr的源码上完善了Android NDK的编译脚本,快速编译出需要的soxr
NDK 命令编译生成Android动态so或可运行程序Demo,欢迎下载,本demo需要配置好NKD 环境变量,并修改Demo中NDK 指向的头文件路径后,执行cmd命令即可生成