建立android新工程

这里是自己创建的一个新工程

第一步: 新建一个Android工程 jni_test

第二步:为工程添加 本地支持

右击工程,选择 android tools -- Add Native support  后,会弹出一个对话框 让你输入 库的名称

这个名字 你可以做修改,也可以使用默认,点击finish 之后,你会发现 该工程里多了几个文件夹,其中有一个叫 jni,这里 就是我们写c代码的地方,jni文件夹里默认产生2个文件,一个是cpp,还有一个是 mk文件

接下来 需要在 Java代码中 加载 库文件,以及声明 本地方法,如下

//声明 本地方法

public native String getStr();

//jni_test  是 库的文件名,也是刚才弹出对话框中 输入的名称,也是编译c文件后 产生的 so文件的名字

static {
  System.loadLibrary("jni_test");
}

注意,如果你需要是在activity里直接使用 本地方法的话,先去掉 extend activity 这段代码

接下来 我们用命令生成 头文件。

通过cd 命令进入工程,然后执行  javah -classpath bin/classes -d jni 使用本地代码的类的全名

如果javah 命令不可用的 ,表示你的java环境变量没有配置对

执行成功后,可以在 jni这个文件夹里 发现 多了一个 .h的文件

当然 你也可以不用 javah 去产生头文件。

产生的头文件名字很长,我们可以做个修改,这里我修改为 jni_test.h

接下来我们需要在 cpp文件里 根据我们的头文件编写 代码

#include <jni.h>
#include <jni_test.h>
JNIEXPORT jstring JNICALL Java_com_zhangyi_android_jnitest_MainActivity_getStr
(JNIEnv *env, jobject obj){
return env->NewStringUTF("你好,我来自c");
}

接下来,我们需要修改 activity的代码,因为 java代码 只声明了 本地代码,没有调用, 在布局文件里添加一个文本文件,然后 初始化它(不写代码了哈,能看到这个地方来的人 都是具备一定的android基础) 为该文本控件 设置 内容 为getStr();

代码编写完成,run吧~~~~~~~

时间: 2024-10-10 13:50:16

建立android新工程的相关文章

unity导出android studio工程方法

生成AndroidStudio工程:    (0)建立一个新工程:导入Unity生成的工程建立另一个export工程.    (1)把export工程libs下的unity-classes.jar文件拷贝到新工程的libs文件夹.然后,右键点击选择Add as Library.    (2)把export工程main文件夹下的assets.java.jniLibs三个文件夹拷贝到新工程的main文件夹    (3)把新工程main文件夹下AndroidManifest打开,<activity a

关于建立Android工程R文件丢失的问题

今天开始学习Android了,好久没打开eclipse,建立Android工程老是报错,于是手残的把appcompat-v7给删了,然后建立工程以后重新出来的appcompat-v7有个小叉号,百度了好一把,才想起来要改SDK版本 如图吧:右击appcompat-v7选中properties,把SDK版本设置成最高了5.1.1 然后创建Android项目,一开始我的编译SDK选择的是如图: 然后报错,并没有R文件如图 后来吧如图 改成了5.1.1然后就没错了,R文件也在 反正我是出了这种错,注意

nios ii 建立库文件,并在新工程中被调用

选择Nios II Library 选择location,这样的话库文件时独立的,而如果选择 Make library depend on a BSP的话会依赖BSP,如果BSP被删除了那新工程编译时会报错. 添加c源文件和h头文件 然后build project 然后新建工程: file->Nios II Application and BSP from Template 然后在工程中添加库文件的搜索路径: 右击工程文件—>properties->展开Nios II Applicati

Android 读取工程内资源文件的两种方法

前言 欢迎大家我分享和推荐好用的代码段~~ 声明          欢迎转载,但请保留文章原始出处: CSDN:http://www.csdn.net 雨季o莫忧离:http://blog.csdn.net/luckkof 正文 总结: asset目录下文件: 称为原生文件,这类文件在被打包成apk文件时是不会进行压缩的,不会自动生成R文件的ID 访问: 获取路径: file://android_asset/test.xml //工程根目录下的assets文件夹中存放,比如assets/test

android开源工程--开篇

由于近来工作关系,少不了编译一些开源的项目到android项目中,零零散散的大概也好几个了,本 身利用开源项目集成到自己的项目中是一项基本功,但是做一下总结还是很有益处,对阅读到这系列文 文章的同学们也有些帮助,省得再重复的造轮子,或者是至少有一点点的参考价值. 这个系列的文章,主要以编译移植为主,源码分析比较少,主要原因是,很多时候我们使用开源项目 主要是为了满足项目要求,多是拿来主义,因为本身这些开源项目有些需要很高的门槛才能读懂,因为 开源而要完全读懂才来用的话,一来个人精力不一定能达到,

使用keil建立标准STM32工程模版

1.   模板工程的创建(超级详细版,使用的是keil 4.5版本) 1.1创建工程目录 良好的工程结构能让文件的管理更科学,让开发更容易更方便,希望大家养成良好的习惯,使用具有合理结构的工程目录,当你着手于较大的软件项目时,类别分明,层次合理的工程目录结构会让你的开发管理化繁为简. (1)首先在一个目录下创建主文件夹,名字按需求取,这里取名为:(0)工程模板 (2)在该文件夹里分别建立名字为Project和Source的文件夹.其中Project文件夹用来放置工程文件,而Source用来放置程

从零开始的Android新项目11 - 组件化实践(1)

最近更新不太频繁,一方面工作上比较忙,除了 Android 也在负责前端,另外周末和深夜也在帮人做 Go 后台.设计技术方案.管进度的事情(因为报酬不错没忍心拒绝,而且确实对个人成长还有帮助),所以实在对不住. 另外,文章最底下有捐款啊,最近真是都没钱吃饭了... 前言 这里的组件化,指的是 MDCC 2016 上冯森林提出的<回归初心,从容器化到组件化>. 我个人一直是比较反感黑科技的,其中首当其冲的就是 插件化 以及 保活.作为一个开发者,除了研究技术,提高自己以外,是否应该考虑些其他东西

[Android 新特性] Android 4.3 Top 5新功能

直播会上,Android 4.3不像Nexus 7那么Sexy,也没有Chromecast电视棒那样惹人注目,但它有许多强悍的新特点,下面来看看Top 5. 1. 权限配置 支持在一台终端设备上有多个帐号登录,但有内容限制(Restricted Profiles),比如通过内容权限设置,可以阻止你的小孩从Google Play里下载付费游戏或app. 2. OpenGL ES 3.0 全新的OpenGL ES 3.0,对用户来说,将为你的图片.视频观看.游戏带来高质量的图像品质体验.对开发者来说

Android零基础入门第11节:简单几步带你飞,运行Android Studio工程

之前讲过Eclipse环境下的Android虚拟设备的创建和使用,现在既然升级了Android Studio开发工具,那么对应的Android虚拟设备也该一起升级了. 那么本期我们就来一起学习在Android Studio开发环境中如何创建和使用Android虚拟设备. 一.Android虚拟设备入口 上期我们使用了Android Studio创建了HeloWorld工程,要想运行该工程,首先需要一个Android虚拟设备来模拟Android程序的运行. 重新打开Android Studio开发