`
aigo
  • 浏览: 2679154 次
  • 性别: Icon_minigender_1
  • 来自: 宜昌
社区版块
存档分类
最新评论

[Android NDK]命令行编译C++代码(JNI)的方式(windows和linux通用)

阅读更多

1,假设工程名字叫ProjTest,先建一个ProjTest文件夹,然后在ProjTest目录下新建两个目录:jni和lib,最终结果如下:

ProjTest

        |----jni

        |----libs

 

2,在jni目录下加入你的C/C++代码,这里测试用的C代码如下:

test.c 

#include <stdio.h>
#include <stdlib.h>
int main()
{
     printf("Hello World\n");
     return 0;
}

 

3,在jni目录下新建并编辑Android.mk文件,这里只有一个c代码文件:test.c,对应的Android.mk如下: 

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS) 
# give module name
LOCAL_MODULE    := hello_world  
# list your C files to compile
LOCAL_SRC_FILES := test.c
# this option will build executables instead of building library for android application.
include $(BUILD_EXECUTABLE)

 因为我们这里的C代码是可执行程序,所以配置的是BUILD_EXECUTABLE

 

如果是静态库*.a文件,则用BUILD_STATIC_LIBRARY

如果是动态链接库*.so文件,则用BUILD_SHARED_LIBRARY

Android.mk详细的配置见:http://aigo.iteye.com/blog/2288694

 

4,最后将命令行切换到ProjTest/jni目录下,假设你已经设置好ndk的环境变量,然后执行命令:ndk-build

 

参考自:https://rathodpratik.wordpress.com/2013/03/24/build-cc-executables-for-android-using-ndk/

 

 

分享到:
评论

相关推荐

    android中用ndk编译c并用jni调用的demo源码

    Android平台上的原生开发工具包(NDK)和Java本地接口(JNI)是开发者实现C/C++代码与Java代码交互的重要工具。这个“android中用ndk编译c并用jni调用的demo源码”提供了实践NDK和JNI集成的实例,帮助我们深入理解...

    Android-ndk-jni AES加解密 C++

    在Android开发中,有时我们需要在原生C++代码中实现加密和解密功能,以便提高性能或利用已有的C/C++库。本知识点主要聚焦于如何在Android NDK(Native Development Kit)环境下,通过JNI(Java Native Interface)来...

    android-ndk(android-ndk-r25b-windows.zip)

    Android NDK,全称为Native Development Kit,是Google提供的一款用于Android平台的C和C++开发工具集。这个压缩包“android-ndk-r25b-windows.zip”包含了NDK的第25个版本,专为Windows操作系统设计。NDK的主要功能...

    android-ndk(android-ndk-r25b-linux.zip)

    在Android应用开发中,NDK扮演着至关重要的角色,它允许开发者使用原生代码(如C和C++)来编写部分应用,以提高性能、利用硬件加速功能或复用现有的C/C++库。 1. **JNI(Java Native Interface)**: JNI是Java...

    ndk命令行编译so库

    最近怀旧了一下经典,记录一下用NDK命令行编译so库的过程。 [PS]自行安装好JDK,SDK,NDK,配置好环境变量,使能正常开发android应用. 1.首先,写好你的源文件和Android.mk和Application.mk文件。 2.打开cmd,切换...

    android ndk下编译的live555源码(新版)

    在Android系统中,由于原生的Java API无法直接处理这些底层的流媒体协议,因此需要借助于NDK(Native Development Kit)来实现C或C++代码的编译,将Live555移植到Android平台。 **关于Live555:** Live555是一个...

    android ndk环境下移植libiconv方法 附源码

    3. **创建Android.mk文件**:`Android.mk`是Android NDK的构建脚本,它告诉NDK如何编译源代码。你需要创建一个名为`Android.mk`的文件,放在`libiconv`源代码目录下,内容如下: ``` LOCAL_PATH := $(call my-dir...

    android 使用jni调用c++

    在Android开发中,JNI(Java Native Interface)是一个关键特性,它允许Java代码和其他语言写的代码进行交互。JNI在很多场景下都非常有用,比如利用C++的高性能处理图像、音频或者进行复杂的数学运算,以及接入原生...

    Ndk-Jni开发实战

    在Android应用开发中,NDK(Native Development Kit)和JNI(Java Native Interface)是两个重要的技术,用于实现Java代码与本地C/C++代码的交互。本实战教程将深入探讨NDK-JNI的开发过程,结合具体的AES加密DEMO,...

    android-ndk(android-ndk-r26b-windows.zip)

    总之,Android NDK是Android开发中的一个重要工具,它扩展了Android应用开发的可能性,为高性能计算和利用现有C/C++代码库提供了途径。通过“android-ndk-r26b-windows.zip”,Windows用户可以方便地获取并开始他们...

    ceres2.0.0编译Android的jni文件

    完成上述步骤后,你可以在Android Studio中使用NDK构建工具链来编译C++代码。打开终端,导航到`jni`目录,运行`ndk-build`命令(或者在Android Studio中使用Gradle的`externalNativeBuild`配置)。这将生成一个动态...

    android-ndk(android-ndk-r23b-linux.zip)

    在Android应用开发中,NDK扮演着至关重要的角色,它允许开发者使用原生代码(如C和C++)来编写部分应用,以提升性能或利用特定硬件功能。 NDK的主要用途包括: 1. **性能优化**:对于计算密集型任务,如图形处理、...

    ubuntu下android ndk编译环境搭建详细描述

    在Ubuntu系统上搭建Android NDK编译环境是Android原生代码开发的重要步骤,适用于那些需要进行C/C++底层开发或优化的应用程序。Android NDK(Native Development Kit)是一套工具,允许开发者使用C/C++编写部分应用...

    Android NDK C/C++ 简单样例

    在Android开发中,NDK(Native Development Kit)是一个重要的工具集,它允许开发者使用C和C++编写原生代码,并将其集成到Android应用中。这个"Android NDK C/C++ 简单样例"是为初学者设计的,旨在帮助他们理解如何...

    android-ndk(android-ndk-r23b-windows.zip)

    Android-ndk-r23b包含了一系列的编译器、链接器和其他工具,用于将C/C++源代码编译成可以在Android设备上运行的机器码。这个版本可能包含以下组件: 1. **交叉编译工具链**:这些工具链允许你在Windows环境下构建...

    从Android NDK安装ARM交叉编译工具链

    Android NDK(Native Development Kit)是Android应用开发的一个重要组件,它允许开发者使用C和C++语言编写部分应用程序代码,即所谓的Native代码。NDK提供了一整套工具链,包括编译器、链接器等,可以在Linux、OSX...

    Android JNI 断点调试C++

    通过这个简单的测试项目"HelloNDK",初学者可以快速了解Android JNI环境的搭建,学习如何在Java和C++之间进行交互,并掌握使用Android Studio进行C++代码断点调试的基本技巧。这不仅有助于深入理解Android应用的内部...

    AndroidStudio-NDK开发 编译c代码提供so库和jar包 另外一个app调用,实例源码

    NDK是一组工具,允许开发者使用C和C++编写部分应用代码,这些代码可以被编译为本地机器码,运行在Android设备的Dalvik或ART虚拟机上。这通常用于实现性能敏感或依赖于底层硬件的功能,例如图形处理、音频处理、加密...

    Android Studio NDK JNI配置Demo代码 2016

    本Demo代码主要展示了如何在Android Studio中配置NDK和JNI,以便在Android应用中使用本地库。 首先,我们需要了解NDK的基本概念。NDK是一套工具集,允许开发者在Android应用中使用C和C++代码,这可以提高性能,尤其...

    安卓app开发之NDK入门教程,JAVA代码通过JNI接口调用NDK代码(C语言编写的linux android功能).zip

    安卓app开发之NDK入门教程,JAVA代码通过JNI接口调用NDK代码(C语言编写的linux android功能).zip

Global site tag (gtag.js) - Google Analytics