zoukankan      html  css  js  c++  java
  • anroid JNI 学习笔记 最简单的Hello

    先配置NDK环境,网上教程很多。安装cygwin 。

    NDK路径D:\cygwin\home\Administrator 编辑.bash_profile这个文件 

    添加字段:

    NDK_ROOT=/cygdrive/d/android/android-ndk-r8b
    export NDK_ROOT

    测试是否配置成功;

    开始建立第一个TextJNI

    创建Android工程 TextJNI ,

    第一步 :创建一个类

    package com.example.textjni;
    
    public class TextJNI
    {
        static {
            System.loadLibrary("jniinterface");
        }
     public static native int getInt();
     public static native String  getString();
    }

    第二步:生成 C++中的 .h文件

    在工程中新建jni文件夹,把生成的文件夹复制到jni文件下面

    第三步 :现在开始写C++代码和android.mk文件

    cpp 的代码如下

    #include"com_example_textjni_TextJNI.h"
    #include <stdio.h>
    #include <stdlib.h>
    
    int sum ()
    {
    	int x,y;
    	x = 100 ;
    	y = 1000;
    	x += y;
    	return x;
    
    }
    //实现 com_example_textjni_textJNI.h 的方法 JNIEXPORT jint JNICALL Java_com_example_textjni_TextJNI_getInt (JNIEnv *, jclass) { return sum(); }
    JNIEXPORT jstring JNICALL Java_com_example_textjni_TextJNI_getString (JNIEnv *env, jclass) { return env->NewStringUTF("HelloNDK"); }

    android.mk文件

    LOCAL_PATH := $(call my-dir)
    
    include $(CLEAR_VARS)
    
    LOCAL_MODULE    := jniinterface//so.文件名
    LOCAL_SRC_FILES := com_example_textjni_TextJNI.cpp//C++类名
    
    include $(BUILD_SHARED_LIBRARY)
    

    最后一步,编译生成.so文件。

    编译成功。。

  • 相关阅读:
    二维动规思想,j 具有明显枚举特征
    二分法题目总结
    最大(小)值最小(大)化 (二分法变形)
    C/ C++ 输入输出流
    正序扫描字符串问题
    React(基础一)_react中的三大属性
    找位置
    STL vector
    STL stack
    打印日期
  • 原文地址:https://www.cnblogs.com/echo6106/p/2957505.html
Copyright © 2011-2022 走看看