JNI 之 Eclipse配置NDK

本文介绍了如何使用Android Development Tools (ADT) 和 NDK 创建 Android 本地库的方法,包括新建测试工程、配置 ADT 的 NDK 路径、设置环境变量和编译脚本路径等关键步骤。通过此教程,开发者可以更高效地进行 JNI 开发,无需依赖 Cytgwin,实现本地库的便捷编译。
工具要求:ADT + NDK(版本:android-ndk-r9d 目前最新版)


一、首先新建一个测试工程
    在工程文件上,点右键选择 Android Tools -> Add Native Support,然后输入so文件的名字就可以了

   
二、配置ADT的NDK路径
   Window -> Preference -> Android -> NDK  -> NDK Loaction
   然后找到本机的NDK路径,填进去就可以了,我的路径是:F:\Gzthss\TOOL\android-ndk-r9d

  file:///C:/Users/dupf/AppData/Local/Temp/Wiz/df44d523-a2fe-4734-a51f-d516a23b45ed_128_files/f32477e3-d662-43f3-b56f-e5ae51983fe5.png   

     
三、设置NDK的环境变量及编译脚本路径
    

    Window -> Preference -> C/C++ ->Build ->Environment -> Add 将NDK路径设置成环境变量,如图所示,然后OK保存。

    file:///C:/Users/dupf/AppData/Local/Temp/Wiz/df44d523-a2fe-4734-a51f-d516a23b45ed_128_files/7d0ddd4b-33f1-49f0-a532-443bdd7f35e9.png  



    然后,设置编译脚本(ndk-build.cmd)的路径:
    file:///C:/Users/dupf/AppData/Local/Temp/Wiz/df44d523-a2fe-4734-a51f-d516a23b45ed_128_files/f5510161-8c70-4e34-9d30-3f4ade380370.png


    这样就可以直接编译jni了,在也不需要Cygwin了,还是很方便的的吧!!



四、完善JNI工程
    找到目下jni文件夹下面的 ndkTest.cpp文件,写一个简单的jni函数:

    ndkTest.cpp 文件 :



#include <jni.h>

#include <string.h>

extern "C"

_jstring*  Java_com_example_ndktest_NdkTest_jniTest(JNIEnv* env,jobject thiz)

{
    return (env)->NewStringUTF("hello from jni by  ndkTest!");
}




NdkTest.java文件:


package com.example.ndktest;

import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.widget.TextView;

public class NdkTest extends ActionBarActivity {

    private TextView tv = null;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_ndk_test);

        tv = (TextView)findViewById(R.id.textView1);
        tv.setText("" + jniTest());
    }

    private native String jniTest();
    static {
        System.loadLibrary("ndkTest");
    }

}  



这时候会提示头文件找不到,因为还没有包含头文件,头文件是在ndk目录:   F:\Gzthss\TOOL\android-ndk-r9d\platforms\android-19\arch-arm\usr\include
右键工程 -> Properties ->  C/C++ General -> Path and Symbols -> Includes 标签 -> Add 将自己的NDK头文件路径包含进去就行了。
然后,在Java文件中进行调用Jni,进行编译得到结果。











































内容概要:本文档围绕六自由度机械臂的ANN人工神经网络设计展开,涵盖正向与逆向运动学求解、正向动力学控制,并采用拉格朗日-欧拉法推导逆向动力学方程,所有内容均通过Matlab代码实现。同时结合RRT路径规划与B样条优化技术,提升机械臂运动轨迹的合理性与平滑性。文中还涉及多种先进算法与仿真技术的应用,如状态估计中的UKF、AUKF、EKF等滤波方法,以及PINN、INN、CNN-LSTM等神经网络模型在工程问题中的建模与求解,展示了Matlab在机器人控制、智能算法与系统仿真中的强大能力。; 适合人群:具备一定Ma六自由度机械臂ANN人工神经网络设计:正向逆向运动学求解、正向动力学控制、拉格朗日-欧拉法推导逆向动力学方程(Matlab代码实现)tlab编程基础,从事机器人控制、自动化、智能制造、人工智能等相关领域的科研人员及研究生;熟悉运动学、动力学建模或对神经网络在控制系统中应用感兴趣的工程技术人员。; 使用场景及目标:①实现六自由度机械臂的精确运动学与动力学建模;②利用人工神经网络解决传统解析方法难以处理的非线性控制问题;③结合路径规划与轨迹优化提升机械臂作业效率;④掌握基于Matlab的状态估计、数据融合与智能算法仿真方法; 阅读建议:建议结合提供的Matlab代码进行实践操作,重点理解运动学建模与神经网络控制的设计流程,关注算法实现细节与仿真结果分析,同时参考文中提及的多种优化与估计方法拓展研究思路。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值