Android使用C代码
Android调用C代码
1、开发工具:Android studio 2.0
2、开发前准备:

2、

3、

4、下面我们就来开发我们的程序吧,
【1】创建一个java类
package com.admin.smartcam.jni; import android.provider.Settings; /**
* Created by Admin on 2017/7/13 0013.
*/ public class JavaToC {
{
System.loadLibrary("printC");
}
public native String sayHello();
}
【2】让编译器自动帮我们生成对应的C文件


生成的代码 如下【需要稍微修改一下】:
#include <jni.h> JNIEXPORT jstring Java_com_admin_smartcam_jni_JavaToC_sayHello(JNIEnv* env ,jobject instance)
{
char* string="hello C and Java";
return (*env)->NewStringUTF(env,string);
}
5、
6、开始编译我们的代码了:

编译成功,我们就可以看到我们所生成的libprintC.so文件了

6、接下来就是验证我们结果的时候了:
package com.admin.smartcam.jni; import android.provider.Settings; /**
* Created by Admin on 2017/7/13 0013.
*/ public class JavaToC {
{
System.loadLibrary("printC");//加载我们生成的.so文件
}
public native String sayHello();
}
//我们就可以开始调用了 JavaToC javaToC=new JavaToC();
String sc=javaToC.sayHello();
Log.d("\n我是java调用C","输出结果:"+sc+"\n");

Android使用C代码的更多相关文章
- 转--Android实用的代码片段 常用代码总结
这篇文章主要介绍了Android实用的代码片段 常用代码总结,需要的朋友可以参考下 1:查看是否有存储卡插入 复制代码 代码如下: String status=Environment.getE ...
- Android 上的代码阅读器 CoderBrowserHD 修改支持 go 语言代码
我在Android上的代码阅读器用的是 https://github.com/zerob13/CoderBrowserHD 改造的版本,改造后的版本我放在 https://github.com/ghj ...
- 利用android proguard混淆代码
利用android proguard混淆代码 2014-02-05 17:50 1207人阅读 评论(1) 收藏 举报 网上虽然有很多相关博客,不过貌似都不是最新版的..于是百度+谷歌+github上 ...
- 转:Android 2.3 代码混淆proguard技术介绍
ProGuard简介 ProGuard是一个SourceForge上非常知名的开源项目.官网网址是:http://proguard.sourceforge.net/. Java的字节码一般是非常容易反 ...
- 关于下拉刷新你是否真的非常理解还是只会搬砖?附 Android 实例子源代码文件下载地址380个合集
1,推荐几篇非常有用的博文 原创写的真的非常好 主要讲解原理,整体布局三部分组成以及设置padding等等作用, 下拉的具体实现 滑动到底部具体加载以及判断手势事件,再次推荐作者的 详细讲解 建议先看 ...
- Android 简单的代码混淆
Android的代码混淆是开发者需要了解的相关知识,它能够防止android应用程序的反编译.因为android程序多数是java语言开发的,而java代码很容易被反编译,所以为了使android应用 ...
- android studio 实现代码混淆
=======本文章属于转载==========原文章地址:http://my.oschina.net/aibenben/blog/370985 这篇文章等是跟大家分享一在Android studio ...
- 《Android第一行代码》笔记
学习Android开发差点儿相同有两年时间了.期间也做了大大小小的一些项目.近来抽出闲暇想把Android基础强化一下,之前在网上看到了郭霖郭大神的几篇博客.从中受益不少.于是花了近一周时间看完了郭神 ...
- 【Java&Android开源库代码分析】のandroid-async-http の开盘
在<[Java&Android开源库代码剖析]のandroid-smart-image-view>一文中我们提到了android-async-http这个开源库,本文正 ...
- Android Data Binding代码实践(告别findViewById)(四)
Data Binding实战(一) Data Binding语法解析(二) Data Binding高级用法(三) 好了,继前三篇学习了Data Binding之后,我们可以发现它的强大之处有这么几点 ...
随机推荐
- WinForm使用CefSharp内嵌chrome浏览器
先贴运行图:亲测可用!以图为证! 开始!1.创建winform程序,使用.NET 4.5.2或以上(vs2010最高支持.NET 4.0,我使用的是vs2017).这一步容易忽略,简单的说就是将项目. ...
- 使用register_chrdev注册字符设备
1.2.2 使用register_chrdev注册字符设备 注册字符设备可以使用register_chrdev函数. int register_chrdev (unsigned int major, ...
- [.Net] C#开发微信门户及应用之微信菜单的多种表现方式介绍
URL:http://www.it165.net/pro/html/201405/13997.html 在前面一系列文章中,我们可以看到微信自定义菜单的重要性,可以说微信公众号账号中,菜单是用户的第一 ...
- php word转pdf
我们知道,PHP语言的合理运用可以帮助我们实现导出Word文档的功能.今天我们将为大家介绍PHP处理Word转PDF的相关实现方法. PHP关键字this指向当前对象指针 PHP self关键字指向类 ...
- 虚基类——(1)定义人员类Person: 公有成员:姓名(Name); 保护成员:性别(Gender),年龄(Age); 构造函数和析构函数
题目描述: (1)定义人员类Person: 公有成员:姓名(Name): 保护成员:性别(Gender),年龄(Age): 构造函数和析构函数 (2) 从人员类Person派生学生记录类Student ...
- FileCopy文件复制
package cn.com.filecopy; import java.io.FileInputStream; import java.io.FileNotFoundException; impor ...
- What are lazy variables?
Written by Paul Hudson @twostraws It's very common in iOS to want to create complex objects only ...
- img-responsive class图片响应式
在BootStrap中,给<img>添加 .img-responsive样式就可以实现图片响应式. 1 <img src="..." class="im ...
- 什么是J2EE的集群?
1. 前言 现在有越来越多的关键应用和大型应用是基于J2EE 来创建的,像银行系统和帐单系统这些关键应用要求有很高的可用性,而Google 和Yahoo 这样的大型应用就需要很好的可扩 ...
- struts中日期处理以及文件下载
日期处理 对于jsp提交的基本数据类型和日期格式为yyyy-MM-dd的自动转换为相应的 对于其它的日期格式需要自定义转换器 局部类型转换器 1,写转换器类(继承StrutsTypeConverter ...