美文网首页
NDK之hellow word

NDK之hellow word

作者: 小白丿丶 | 来源:发表于2017-07-22 18:19 被阅读26次

前言

ndk是android学习的比修之路,提高性能,so加密等,以及so移植等

配置

  • 下载NDK
  • local.properties 添加以下

ndk.dir=/Users/huangb/Library/Android/sdk/ndk-bundle

  • gradle.properties 添加如下

android.useDeprecatedNdk=true
(ps:3.0以后 android.deprecatedNdkCompileLease=1511832698813)

  • 以及在module的gradle中的defaultConfig添加
ndk{
            moduleName "forkApp" //生成的so名字
            ldLibs "log" //Log打印
            abiFilters "armeabi", "armeabi-v7a"  //输出指定三种abi体系结构下的so库。目前可有可无。
        }
  • 注意编译的SDK的环境最好是最新的

过程

  • 新建一个class如下 这是需要使用的方法
public class JniDemo {

    public native String getHelloWordText(String message);
}
  • 生成JniDemo的class文件,在终端中输入

javac JniDemo.java

  • 生成.h头文件,切换到main/java路径在终端输入

javah com.example.ndk.JniDemo

  • 生成jni文件夹
    new -> Folder -> JNI Folder
  • 把生成的.h头文件复制到jni文件夹下
  • 新建一个.c文件写入我们要处理的方法
  #include "com_example_ndk_JniDemo.h"
 #include <jni.h>
 JNIEXPORT jstring JNICALL 
 Java_com_example_ndk_JniDemo_getHelloWordText
         (JNIEnv *env, jobject orgin, jstring str) {
//新建一个string对象
     jstring encrypt;
//把string转为char
     char *cstr = (*env)->GetStringUTFChars(env, str, 0);
// 把char转为jstring拼接 these
    encrypt = (*env)->NewStringUTF(env, strcat (cstr,"these"));
    return encrypt;
}
  • 构建项目生成so Rebuild Project,生成路径如下
117FB902-1DAB-4613-9427-D1B69219DBCC.png

项目目录

C87AB7E0-5AFC-4743-A671-EC957F46C9B6.png

方法使用

0063CF84-58B8-4923-A72F-739D413AE587.png

结语

如果有什么问题以及有什么不对可以留言我会尽快回复哟

相关文章

  • NDK之hellow word

    前言 ndk是android学习的比修之路,提高性能,so加密等,以及so移植等 配置 下载NDK local.p...

  • Hexo测试

    > 这是引用的文字 **该文字是粗体** `Hellow word` ``` Hellow word Hellow...

  • Hellow Word

    Hellow Word 学习途径

  • Hellow Word

    勇士们,你们好。百万年的时光过得很快,我在这很高兴能看到今日的繁华。你们的科技,信仰,文化着实让人惊叹。但是你们的...

  • Android NDK 环境搭建 之 起始篇NDK HelloW

    ADT插件:管理Android SDK和相关的开发工具的NDK插件:用于开发Android NDK的插件,ADT版...

  • 04字符串

    一.字符串基础 1.字符串拼接 a = 'hellow' b = 'word' c=a+b print(c) 2....

  • springboot的“hello word”

    利用springboot框架编写一个简单的hellow word 1.创建一个springboot工程,自动生成主...

  • 01基础语法——main入口

    dart里面同有些语言一样存在一个入口函数main 运行代码会发现再输出hellow, word 但其实这只是函数...

  • 2.1hello_world.py

    打印"Hellow Python World!"print("Hellow Python World!")

  • 第一天-Hellow Word

    新建程序1.png 创建基础Java程序2.png 内置的Java模版3.png 选择路径4.png 创建源文件5...

网友评论

      本文标题:NDK之hellow word

      本文链接:https://www.haomeiwen.com/subject/qdbukxtx.html