笔记80 | Eclipse环境下利用NDK编译SO文件

准备

1.Eclipse工作环境

2.NDK

下载地址 ,选择一个版本对应下载之后解压,注意路径不要有中文,请直接使用版本【android-ndk-r14b】,不要问为什么,都是泪;

然后再环境变量的path中添加路径;如图

接着cmd中输入ndk-build,如果跟我显示一样,就说明ndk环境可以使用了

接着在eclipse中添加路径:

代码

我这里使用ndk自带的一个例子【hello.jni】,将项目导入到工作区间如图

会多一个jni的文件夹

  1. Android.mk
LOCAL_PATH := $(call my-dir)

      include $(CLEAR_VARS)

      LOCAL_MODULE    := hello-jni   //要生成的文件名字

      LOCAL_SRC_FILES := hello-jni.c //需要编译的源文件  .c是C文件;.cpp是C++文件

      include $(BUILD_SHARED_LIBRARY)

2.Application.mk

APP_ABI:=all //指定生成的平台

3.hello.jni.c

C文件内容,就是一些调用的方法集合,生成so包之后,APP可以用来调用这些方法跟底层交互;

生成

cmd中,首先cd到当前项目的目录,然后ndk-build,然后就完成了

在项目中,会多了一个obj文件夹,生成的so就在里面:

原文发布于微信公众号 - 项勇(xiangy_life)

原文发表时间:2018-09-28

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏电光石火

gradle加载本地jar包

1416
来自专栏我的小碗汤

这个404你能解决吗?

去看webapps里工程目录下,index.html文件是有的,见鬼了,是哪儿出了问题?

1363
来自专栏冷冷

Consul Config 使用Git做版本控制的实现

Spring Cloud Config 原理 ? 我们通过git 把配置文件推送到远程仓库做版本控制,当版本发生变化的时候,远程仓库通过webhook机制推送消...

3805
来自专栏码农笔录

ubuntu、deepin 程序启动菜单创建

1485
来自专栏marsggbo

解决ping 127.0.0.1 一般故障 问题

​故障如下图: ? 绕了好一大圈才发现是goupi防火墙搞的鬼,弄得我一些软件一直运行不了!!!!! 废话不多说,关了防火墙就行了:操作步骤如下图示 ? ​...

4765
来自专栏pangguoming

CentOS7安装配置redis-3.0.0

一.安装必要包 yum install gcc 二.linux下安装 #下载 wget http://download.redis.io/releases/re...

3677
来自专栏源码之家

DedeCMS采集文章的审核时间同步文章发布时间

1872
来自专栏Java技术栈

SpringCloud配置中心客户端读取配置

微服务连接配置中心来实现外部配置的读取。 引入依赖 <dependencies> <dependency> <groupId>org.s...

3756
来自专栏SHERlocked93的前端小站

使用Jenkins持续集成前端项目并自动化部署到Nginx服务器

上午折腾了一下Jenkins持续集成,由于公司使用自己搭建的svn服务器来进行代码管理,因此这里Jenkins是针对svn服务器来进行的配置,后面稍微介绍了下针...

1.1K2
来自专栏开源优测

使用virtualenv搭建Python虚拟环境

virtualenv用来部署独立Python的一个工具,用来解决版本依赖,及不兼容的项目。

942

扫码关注云+社区

领取腾讯云代金券