Android NDK 第一行代码

步骤

1. 在项目根目录新建jni文件夹
2. 新建C文件
3. 新建Android.mk配置文件
4. 新建Application.mk配置文件
5. 生成*.so库文件
6. java文件中调用
7. 调试到手机



在项目根目录新建jni文件夹

这里写图片描述

回到目录



新建C文件

结果如下:
这里写图片描述

C文件代码如下

此处为了以后方便管理jni目录下的库项目,所以把此处代码文件放到hello目录下

#include <jni.h>
#include <string.h>
/*
* 由于此示例用于MainActivity.java文件里的stringFromJni()方
* 法,所以C文件内的函数定义名如下:
*/
jstring
Java_com_example_testjni_MainActivity_stringFromJni(JNIEnv* env, jobject thiz)
{
    return (*env)->NewStringUTF(env, "Hello from jni!");
}

回到目录

新建Android.mk配置文件

结构如下

这里写图片描述

Android.mk内代码如下

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE := hello-jni
LOCAL_SRC_FILES := ./hello/hello-jni.c

include $(BUILD_SHARED_LIBRARY)

回到目录

新建Application.mk配置文件

结构如下

这里写图片描述

Application.mk代码如下

#构建适合全支持的cpu架构的.so库
APP_API := all

回到目录

生成*.so库文件

进入项目根目录使用ndk-build命令

这里写图片描述

回到目录

Java文件中调用

package com.example.testjni;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.TextView;

public class MainActivity extends Activity
{

    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ((TextView)findViewById(R.id.tv)).setText(stringFromJni());

    }

    public native String stringFromJni();

    static {
        System.loadLibrary("hello-jni");
    }
}

回到目录

调试到手机

这里写图片描述

回到目录

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值