`

android studio下第一个ndk程序

 
阅读更多

1.安装ndk

               下载一个android-ndk-r10e-windows-x86.exe文件,运行后会在选定目录下产生一个文件夹,就是ndk所在目录了。

2.配置ndk

                 file>project structure>SDk location>Android ndk location>选择ndk目录即可。这样之后在local.properties文件中可以看到ndk目录,当然可以直接在这个文件下设置目录,效果是一样的。

 

 3.编写jni的java类

                 在src目录下新建jni目录,jni下新建文件MathKit.java

 

public class MathKit {
    public static native int square(int num);

    static {
        System.loadLibrary("JniDemo");
    }
}

这里有必要解释一下System.loadLibrary("JniDemo");,

需要在defaultConfig中添加如下代码:

ndk{
    moduleName "JniDemo"
}

目的是指定生成的so文件(C库)的名称,然后在java文件中加载这个so文件(C库)。

so文件位置如下:E:\Android\workSpace\ListenForUninstall\app\build\intermediates\ndk\debug\lib\arm64-v8a\libJniDemo.so

,切换到project视图查看。

同时记得在工程目录下的gradle.properties文件中写入下面这行: 

android.useDeprecatedNdk=true 

4.生成.h文件

cmd下运行如下命令 javah -jni (加上java类的目录)

 这样就会生成头文件。

5.在main目录新建jni目录,把产生的头文件拷贝进去

6.在main/jni目录下新建对应的cpp文件(文件名和头文件一样),实现java类中定义的square函数

#include <jni_Mathkit.h>
#include "../../../../../../../SdkandNdk/android-ndk-r10e/platforms/android-21/arch-arm/usr/include/jni.h"

JNIEXPORT jint JNICALL Java_jni_MathKit_square
        (JNIEnv *env, jclass cls, jint num)
{
    return num*num;
}

这个cpp文件有必要解释一下内容,这个函数返回类型是jint(整形类型),参数是num,计算num的平方并返回。方法名称格式如下:

Java_包_类_函数名(注意包的.号改成-下划线,比如本例中jni.MathKit要写成jni_MathKit)。

8.在activity中调用square函数。

Log.i("", ""+MathKit.square(2));

至此结束

 

 

 

 

  • 大小: 3.3 KB
分享到:
评论

相关推荐

    Android开发第一个ndk程序

    本项目"Android开发第一个ndk程序"旨在帮助新手入门,理解如何在Android应用中集成和使用NDK。 首先,我们需要了解NDK的基本概念。NDK提供了一种方式,让开发者可以在Android平台上编译和运行原生代码,而原生代码...

    编写第一个NDK程序

    本篇文章将围绕“编写第一个NDK程序”这一主题,详细介绍如何在Android项目中集成和使用NDK。 首先,我们需要了解NDK的基本概念。NDK提供了一系列的工具,包括编译器、链接器和调试工具,用于构建原生库并将其与...

    第一个NDK程序

    本篇文章将深入探讨如何创建并运行你的**第一个NDK程序**。 ### 1. 安装NDK 首先,你需要在开发环境中安装Android NDK。你可以从Google的Android开发者网站下载最新版本的NDK,并按照官方指南进行安装。确保将其...

    让我们来学习如何使用Android Studio 1.3搞NDK吧~.zip

    1. **项目结构**:在Android Studio中,一个NDK项目会包含`app`目录,这是你的应用代码所在的地方。这里会有`src/main/jni`目录,用于存放C/C++源代码,以及`jniLibs`目录,用于存放编译后的库文件(`.so`文件,针对...

    android studio基本设置与NDK配置.doc

    `# 禁止第一次运行 Android Studio 时,自动检查和升级 Android SDK` `disable.android.first.run=true` 修改主题和窗口大小 Android Studio 提供了多种主题和窗口大小设置,开发者可以根据自己的需求进行选择。...

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

    NDK是Android应用开发中的一个重要组成部分,它允许开发者使用原生代码(如C、C++)来编写部分应用程序,从而利用底层的硬件性能,提高程序运行效率,尤其是在处理图形计算、物理模拟和游戏引擎等高性能需求的场景下...

    Android studio Cmake-ndk

    NDK(Native Development Kit)是Android Studio的一个工具集,允许开发者用C和C++代码来编写应用的部分,从而获得更好的性能。 知识点一:配置Android Studio及NDK 在Android Studio中,可以使用NDK来编译C或C++...

    AndroidStudio中使用NDK编译器笔记

    配置Android Studio与NDK集成的第一步是下载并安装NDK。Android Studio通常会自动配置最新的NDK版本,但你也可以手动指定一个特定版本。在`File` -&gt; `Project Structure` -&gt; `SDK Location`中,你可以管理Android ...

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

    这个压缩包“android-ndk-r26b-windows.zip”包含了NDK的第26个版本,专为Windows操作系统设计。通过这个工具,开发者可以利用原生代码编写高性能、低级别的应用模块,比如图形处理、物理模拟或音频处理等。 在...

    Android Studio JNI_NDK开发实例

    Android Studio JNI_NDK开发实例是Android应用开发中的一个重要领域,涉及到Java与原生代码(C/C++)的交互。JNI(Java Native Interface)是Java平台的一部分,它允许Java代码和其他语言写的代码进行交互。NDK...

    Android jni ndk 工程

    Android studio 编译第一个NDK程序的详细教程的代码,附上Android studio编写第一个NDK工程的过程详解文章的链接https://blog.csdn.net/weixin_37639900/article/details/89680670

    基于Android Studio NDK开发

    Android Studio NDK 开发是Android应用开发中的一个重要领域,它允许开发者使用原生代码(如C++、Fortran等)来实现性能敏感的部分,从而提高应用程序的运行效率和执行速度。NDK(Native Development Kit)是Google...

    Android Studio NDK 使用Cmake指定输出路径和生成多个so案例

    假设我们有一个名为`singleLib`的子目录,其中包含了我们的第一个库,其CMakeLists.txt内容如下: ```cmake add_library(singleLib SHARED src/main/cpp/singleLib.cpp) target_include_directories(singleLib ...

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

    这个压缩包“android-ndk-r25b-windows.zip”包含了NDK的第25个版本,专为Windows操作系统设计。NDK的主要功能是让开发者能够在Android应用中使用原生代码,例如C、C++,以实现高性能计算或利用硬件加速等功能。 **...

    android studio cmake android ndk-jni动态库开发

    这时,Android Studio提供了NDK(Native Development Kit)和JNI(Java Native Interface)工具,允许开发者在Java应用程序中调用本地代码。在最新的版本中,Android Studio引入了CMake作为原生代码的构建系统,简化...

    创建第一个NDK程序

    创建NDK项目的第一步是设置一个新的Android Studio工程。在创建新项目时,选择"Empty Activity"模板,并确保勾选"Include C++ Support"选项,这将为你自动配置CMakeLists.txt文件和必要的jni目录。 接着,你需要...

    Android Studio项目《天气预报app》

    本项目《天气预报app》是基于Android Studio开发的一个实例,它展示了如何利用Android SDK和相关工具来创建一个功能齐全的应用,帮助用户查询并展示实时天气信息。 首先,`gradlew.bat` 和 `gradlew` 是Gradle的可...

    Android-通过androidstudio和ndk生成Android平台的静态库以及使用静态库demo

    本教程将详细讲解如何通过Android Studio和NDK来生成Android平台的静态库,并创建一个使用该静态库的示例应用。 一、Android Studio与NDK集成 1. 安装NDK:首先确保你已经安装了Android Studio,并在Android ...

    android studio3.0百度网盘下载链接

    Android Studio 3.0 开始正式支持 Kotlin 作为 Android 应用开发的第一语言。Kotlin 是一种现代的、面向对象的编程语言,具有简洁、安全等特点。Kotlin 的集成使得开发者能够更高效地编写代码。 ##### 2. 性能改进 ...

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

    本实例源码提供了完整的流程,展示了如何在Android Studio中进行NDK开发,编译C代码生成.so库和.jar包,并在另一个应用中调用。 首先,我们需要理解NDK的核心概念。NDK是一组工具,允许开发者使用C和C++编写部分...

Global site tag (gtag.js) - Google Analytics