zoukankan      html  css  js  c++  java
  • 【转】windows下 ADT NDK开发环境配置

    前提:
    下载好Ecplise ADT并配置好开发环境,不会配置环境可以参考这里:
    http://blog.csdn.net/danfengw/article/details/47111107
    步骤:
    1、下载ndk并解压(这个比较多了,可以参考这个网址的地址(http://www.cnblogs.com/yaotong/archive/2011/01/25/1943615.html),下载比较方便,这里下载r9d是因为r9d版本比较稳定)地址:
    2、创建Android Application项目:
    工具栏:window——preference——Android——NDK,设置NDK路径

    3、右击项目:Android Tools ——》Add Native Support输入,将要生成的so库名称,设置完成后点击项目refresh(刷新或者F5),此生会生成jni目录(这里截图不太准确,一般是跟项目名一样的,我这里是JNITests.so,JNITests在后面的loadLibrary中也将使用)

    4、在项目中创建java文件,添加native方法

    5、添加c、c++的path
    添加两个路径,分别是:
    (1)D:softwareNDKandroid-ndk-r9d-windows-x86_64android-ndk-r9d oolchainsmipsel-linux-android-4.8prebuiltwindows-x86_64libgccmipsel-linux-android4.8include
    (2)D:softwareNDKandroid-ndk-r9d-windows-x86_64android-ndk-r9dplatformsandroid-18arch-armusrinclude

    6、编译产生.h文件
    参考下面这篇博客的方案二进行配置
    http://blog.csdn.net/danfengw/article/details/52944591
    右击项目——》preference——》resource——》location,复制路径。

    7、刷新项目(右键项目,refresh)。可以看到产生的.h文件,打开.h文件,复制选中代码。在CC++文件中进行具体实现。


    8、在jni目录下new一个sourcefile的,创建.c文件,这里的代码是从下载的ndk中samples中的hello-jni这个demo中复制的代码(可以提前将这个hello-jni这个demo在ec中打开)

    另外还需要将hello-jni中的jni目录下的Application.mk复制到该工程的jni目录下,或者你也可以自己创建一个Application.mk文件。将Android.mk中LOCAL_SRC_FILES改为c文件,如下:

    9、这时候你会发现项目会报错,此时选择c/c++再点击小锤子样式的编译器,就可以编译通过了,如图

    10、最后在本地使用so库
    loadlibrary的名字跟生成的so库名字相同

    11、ndk-build +run application

    12、备注:
    LOCAL_MODULE := JNITests(so文件名,不加lib)
    LOCAL_SRC_FILES := JNITests.c(编译和调用的文件)
    13、总结:
    主要步骤
    (1)本地编写native方法
    (2)javah命令编译 .h文件
    (3)打开.h文件复制方法名,创建c或者cpp文件,将方法名复制到c或cpp文件中并进行具体实现。
    (4)修改Android.mk进行ndk编译之后生成so文件,在本地方法中loadLibrary调用

    static {
            System.loadLibrary("JNITests");
        }
    


    from:https://blog.csdn.net/danfengw/article/details/51844728

  • 相关阅读:
    如何在GitHub上生成ssh公钥并用NetBeans克隆项目
    python学习笔记
    Linux命令的学习
    ubuntu16.04下安装配置深度学习环境(Ubuntu 16.04/16.10+ cuda7.5/8+cudnn4/5+caffe)
    CNN(卷积神经网络)、RNN(循环神经网络)、DNN(深度神经网络)的内部网络结构的区别
    linux 下安装eclipse和pydev插件用来开发python程序
    POJ
    Gym
    洛谷P4983 忘情 (WQS二分+斜率优化)
    HDU
  • 原文地址:https://www.cnblogs.com/xuan52rock/p/11063260.html
Copyright © 2011-2022 走看看