eclipse生成SO文件「建议收藏」

eclipse生成SO文件「建议收藏」利用eclipse进行NDK开发(生成SO文件)开发步骤

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
Eclipse生成so文件:

1.首先需要eclipse,jdk能正常开发

2.点Window->Preferences->Android->NDK,设置NDK路径(先要下载。如:E:\android-ndk-r9c)

3.在工程上右键点击Android Tools->Add Native Support…,然后给我们的.so文件取个名字,

  例如:myndk(myndk.so)

  这时候工程就会多一个jni的文件夹,jni下有Android.mk和my-ndk.cpp文件。

  Android.mk是NDK工程的Makefile,myndk.cpp就是NDK的源文件

4.建议单独写一个类文件来加载动态库。

 如:

public class Load {

    static { 

        System.loadLibrary(“NDKTest”);//加载so

    }

    public native int addInt(int a, int b); //调用方法

 }

5.现在就可以去写myndk.cpp的代码了。

#include <jni.h>

#include “com_example_ndktest_Load.h”

//JNI接口的命名规范是:Java_ + 调用该方法的包名(包名的点用_代替) + _ + 调用该接口的类名 + _ + 方法名,对于实例方法,

//有两个参数是必要的,一个JNI的环境指针JNIEnv *,另一个是调用该方法的Java实例jobject

JNIEXPORT jint JNICALL Java_com_example_ndktest_Load_addInt (JNIEnv *, jobject, jint a, jint b) {

    return a + b;

}

6.注意事项


1.编译头文件


(1)  cmd进入文件目录,一般到src目录就可以了


(2) 调用:javah -classpath . -jni 包名.类名。(如:javah -classpath . -jni com.buaa.testjni.TestJNI)


(这时编译成功的话在jni文件夹下就有.h文件了)


2.编译也许会遇到Unable to launch cygpath. Is Cygwin on the path?错误,解决办法如下:


工程右键,点Properties->C/C++ Build的Building Settings中去掉Use default build command,然后输入${NDKROOT}/ndk-build.cmd


3.cmd进入到项目目录下(可以是src输入:ndk-build  就可以得到so文件(前提是配置好了NDK)


在C/C++ Build中点击Environment,点Add…添加环境变量NDKROOT,值为NDK的根目录(如:E:\android-ndk-r9c)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/192725.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • vim 设置搜索高亮_vim取消搜索后高亮持续

    vim 设置搜索高亮_vim取消搜索后高亮持续vim搜索设置高亮linuxvim打开文档搜索字符串时,设置被搜索到字符串高亮显示。有两种方法:1、临时设置:vim打开文档–>命令行形式输入sethlsearch。缺点:关闭文档后,下次打开,又需要重新设置一遍。2、永久设置(推荐):在~/.vimrc中配制vim~/.vimrc在文件中加上sethlsearch 然后保存退出便可。

    2022年9月24日
    3
  • 非常详细的Fiddler工具使用说明(包含APP抓包)

    非常详细的Fiddler工具使用说明(包含APP抓包)阅读目录1.Fiddler抓包简介    1).字段说明    2).Statistics请求的性能数据分析    3).Inspectors查看数据内容    4).AutoResponder允许拦截制定规则的请求    5).Filters请求过滤规则    6).Timeline请求响应时间2.Fiddler设置解密HTTPS的网络数据3.Fiddler抓取…

    2022年5月7日
    56
  • QCustomPlot配置[通俗易懂]

    QCustomPlot配置[通俗易懂]安装在https://www.qcustomplot.com/index.php/download下载压缩包。qcustomplot.h和qcustomplot.cpp即为需要使用的文件。然后自己新建一个QWidget,要么继承自QCustomPlot这个类,要么做提升。备注笔者使用环境是Windows7.编译器是VistualStudio2015(构建套件是vs2013)部分类说明QCPGraph图表通过调用QCPGraph的setData设置绘图需要的数据添加一.

    2022年8月31日
    5
  • idea2020.2.1激活码【2021免费激活】

    (idea2020.2.1激活码)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html3MRUAPM31O-eyJsaWNlbnNlSW…

    2022年3月29日
    578
  • sp_executesql返回多个值

    sp_executesql返回多个值declare@sqlnvarchar(2000)declare@ccintdeclare@ssintselect@sql=Nselect@c=(selectcount(*)fromyg);select@s=(selectsum(b_id)fromyg)EXECUTEsp_executesql@sql,N@cintout,@sinto

    2022年5月18日
    36
  • navicat激活码最新【2021.8最新】

    (navicat激活码最新)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

    2022年3月26日
    51

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号