Hello JNI

根据上一篇,这里写一个简单demo

工程目录结构

这里写图片描述

JniDemo

package com.test.git.jnidemo.JniUtil;

/**
 * Created by lk on 16/9/18.
 */
public class JniDemo {
    //路径:/JNIDemo/app/build/intermediates/classes/debug/com/test/git/jnidemo/JniUtil/JniDemo.class
    public native String helloJni();
    static {
        System.loadLibrary("NdkJniDemo");
    }
}

com_test_git_jnidemo_JniUtil_JniDemo.h

/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class com_test_git_jnidemo_JniUtil_JniDemo */

#ifndef _Included_com_test_git_jnidemo_JniUtil_JniDemo
#define _Included_com_test_git_jnidemo_JniUtil_JniDemo
#ifdef __cplusplus
extern "C" {
#endif
/*
 * Class:     com_test_git_jnidemo_JniUtil_JniDemo
 * Method:    helloJni
 * Signature: ()V
 */
JNIEXPORT jstring JNICALL Java_com_test_git_jnidemo_JniUtil_JniDemo_helloJni
  (JNIEnv *, jobject);

#ifdef __cplusplus
}
#endif
#endif

JniDemo.cpp

//
// Created by lk on 16/9/18.
//
#include "com_test_git_jnidemo_JniUtil_JniDemo.h"
JNIEXPORT jstring JNICALL Java_com_test_git_jnidemo_JniUtil_JniDemo_helloJni
  (JNIEnv *env, jobject obj){
    return env->NewStringUTF("hello jni");
  }

MainActivity

package com.test.git.jnidemo.Activity;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;

import com.test.git.jnidemo.JniUtil.JniDemo;
import com.test.git.jnidemo.R;

public class MainActivity extends AppCompatActivity {
    private static final String TAG = "MainActivity-";
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        JniDemo jd = new JniDemo();
        Log.i(TAG, "helloJni->" + jd.helloJni());

    }
}

输出

这里写图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值