Android NDK JNI 简单例子2
转载请标明出处:
http://blog.csdn.net/michael1112/article/details/55271823
江东橘子的博客
前言
使用Android studio 进行NDK-JNI开发,在界面上显示Hello NDK-JNI
步骤:
1. 创建工程
2. 配置NDK 路径
local.properties 文件中加入 ndk路径
ndk.dir=C\:\\Users\\happen\\AppData\\Local\\Android\\sdk\\ndk-bundle
(NDK所在文件路径)
3. 在gradle.properties 文件里面添加 android.useDeprecatedNdk=true
4. 修改build.gradle配置
工程中共有两个build.gradle配置文件,我们要修改的是在\app\build.gradle这个文件。
defaultConfig里面写入
- ndk{
- moduleName "hellojni" //生成的so名字
- abiFilters "armeabi", "armeabi-v7a", "x86" //输出指定三种abi体系结构下的so库。
- }
5. 在Java代码中写入代码:包括 本地方法和加载so类库(so类库名字)
6. 打开 View-->Tool Windows-->Terminal (或者点击左下角Terminal)
7. 在打开的Terminal中输入命令 或者cmd 后在终端中输入
进入项目名-->app-->src-->main目录下创建文件夹
命令--->cd app/src/main 回车
命令--->mkdir jni 回车
进入项目名-->app-->src-->main-->java目录下输入
命令--->cd java 回车
命令--->javah -jni 包名.类名 ( .h生成头文件)
8. 在jni文件夹下创建.c文件
9. 在刚创建的c文件中写入代码
10. 编译运行查看结果:
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.jdjz.myapplication.MainActivity"> <TextView android:id="@+id/tv" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello World!" /> </RelativeLayout>
MainActivity.java
Android NDK JNI 简单例子2相关推荐
- Android NDK JNI 简单例子1 : Android NDK配置和下载
转载请标明出处: http://blog.csdn.net/michael1112/article/details/55004944 江东橘子的博客 下载和配置NDK: --请使用AS2.2 或更高版 ...
- Android NDK JNI 的简单使用
为什么80%的码农都做不了架构师?>>> 1.why: 为啥学 NDK开发,其实是为了项目需要调用底层的一些C/C++的一些东西:另外就是为了效率更加高些: Android n ...
- 用java开发一个简单的安卓程序,Android NDK开发简单程序分享(Hello Word!)
在之前的博客中已经为大家介绍了,如何在win环境下配置DNK程序,本篇我将带大家实现一个简单的Hello jni程序,让大家真正感受一下NDK开发的魅力.这里我们选择使用C+JAVA开发Android ...
- Android NDK jni开发,适当的给Android 代码加密
为什么使用ndk开发了,就是 稍微将代码隐藏一下..Android 虽然打包能混淆,但是有些东西是不能混淆的,如下图,压缩密码把直勾勾的下载代码中.下面手把手稍微优化下. 將操作密码的部分我们通过 j ...
- Android NDK JNI C++ 13 pthread多线程
这一篇将初步介绍NDK开发中多线程方面相关操作,具体步骤如下: 多线程采用 POSIX 的pthread方式实现. <1> : 新建一个Android工程 androidpthreadjn ...
- android ndk jni so,Android Studio Ndk So 文件
一 下载NKD,并解压 官网:https://developer.android.com/index.html 二 新建项目 1 新建Android Studio项目 2 项目配置NDK路径 imag ...
- Android NDK JNI WARNING: illegal start byte 0x
今天攻克了JNI WARNING: illegal start byte 0x81这个问题. 问题出现的现象是通过jni调用加密方法,调用之后返回密文内容,结果就出现这个问题. 在国外查找一段时间之后 ...
- Android NDK JNI开发3
换个浏览器来发,IE10不能够上传图片,兼容问题. 还是和上一篇一样的步骤,不过这次函数带了参数: <1> : eclipse新建一个hellojnidemo3工程,然后将cgywin切换 ...
- android NDK 编译hellojni 例子文件
运行android-cmd.bat,使用cd命令切换到samples/hello-jni目录下, 运行android update project -p . -s,会生成build.xml文件,用于a ...
最新文章
- mysql 添加rownum_Mysql 增加rownum
- telnet检查接收邮件命令
- 用Play 1.x 实现简单云计算多租户设计(Use Play 1.x To Achieve Multi-Tenancy Design)
- Qt webkitwidgets模块和webenginewidgets模块
- DotNetMagic 5.4.0破解
- 在计算机领域客观事物的属性表示为数据,数据与信息试题解析
- html5 支持表格吗,html5 – 在HTML 5中使用表格很好吗?
- MyBatis 实现多表查询、resultMap 标签、MyBatis 注解、mybatis运行原理
- 从零开始学Pytorch(零)之安装Pytorch
- c语言kmeans算法具体步骤,k-均值聚类算法c语言版
- 用php做动态时钟,vue实现动态时钟以及日期
- 大数据监测及预警系统平台怎么选择的方法参考
- ckplayer html播放本地,vue中使用ckplayer播放器
- 视界云联合创始人姜飞 荣获品途2017年NBI商业影响力新锐人物奖
- 山东省第八届 ACM 省赛 Parity check (规律、水)
- 【笔记】磁盘管理(2):磁盘分区、增加swap
- 打开oracle数据库oe,database - Oracle数据库11g:OE.ORDERS表不存在 - SO中文参考 - www.soinside.com...
- Python 网易邮箱简单发送邮件
- 钉钉,腾讯会议中使用虚拟人物形象上网课
- 为什么Netty使用NIO而不是AIO
热门文章
- oracle数据库备份方法主要有哪几种,Oracle数据库备份方法有哪三种?
- mysql 查看主从_什么参数可以查看mysql主从复制是否正常
- 新手搭ssm要多久_如何快速学习ssm 框架?
- python 自定义模块_Python 自定义模块路径
- C++知识点11——this指针,const成员函数,访问权限控制
- PE Header中的FIleHeader(文件头)
- Hibernate执行原生SQL
- Bootstrap系列 -- 6. 列表
- Python 简介day01
- Python你必须知道的十个库