zoukankan      html  css  js  c++  java
  • Android调用jni全过程,方便以后操作。

    原文:Android调用jni全过程,方便以后操作。

    个人记录下调用jni全过程,省的自己忘记了。哎。
    有些需要准备的地方,ndk环境,ndk源码一份,cygwin要装好,配好profile。java要配好环境变量。

    1.首先新建一个工程,建个类对调用native的方法进行声明。
    复制代码
    package com.stay.jni;

    public class CallNative {
        public CallNative() {
        }

        static {//导入的lib名去掉前面的lib
            System.loadLibrary("skytech");
        }

        public native byte[] readCmd(String path);

        public native int writeCmd(byte[] cmd, String path);
    }
    复制代码

    2.build下项目,打开cmd,cd到该工程bin目录下,
    D:\>cd D:\android\rayn\TestJni\bin

    D:\android\rayn\TestJni\bin>javah -jni com.stay.jni.CallNative

    然后在bin目录下会出现一个.h文件这是声明的头文件

    3.我们要的是里面声明的方法,把我们要写的c文件改成相同的方法名就可以了。(我做了一件非常挫的事,把实现写到.h文件里了,一直拿.h文件去编译。。= =)

    4.在工程里建个jni目录,将改好的c文件和mk文件(随便copy一个,改下路径和lib名就好啦)copy进去

    5.然后按照NDK说的方法来编译:

    1. Place your native sources under <project>/jni/...
    2. Create <project>/jni/Android.mk to describe your native sources to the NDK build system
    3. Optional: Create <project>/jni/Application.mk.
    4. Build your native code by running the 'ndk-build' script from your project's directory. It is located in the top-level NDK directory:
      cd <project>
      <ndk>/ndk-build
      

      The build tools copy the stripped, shared libraries needed by your application to the proper location in the application's

  • 相关阅读:
    nginx 正向代理 反向代理 负载均衡
    nginx配置文件常用基本配置指令
    92)http 和https协议入门
    tp6--nginx下pathinfo配置
    tp6省略url里的index.php
    echarts鼠标移上去显示数据
    composer 下载thinkphp6失败
    tp5写入cookie失效
    4.15 Spring Cloud理论基础
    4.14 SpringBoot理论基础
  • 原文地址:https://www.cnblogs.com/moodlxs/p/2827983.html
Copyright © 2011-2022 走看看