android studio使用率 怎么通过使用C本身的函数

AS下开发JNI(1)
1。创建本地方法
helloFromC( ),配置好NDK。点build AS会自动弹出
public class MainActivity extends AppCompatActivity {
System.loadLibrary("hello");
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
public native String helloFromC();
public void click(View view) {
String s = helloFromC();
Toast.makeText(this, s, Toast.LENGTH_SHORT).show();
2. 自动生成jni头文件
JDK1.7:在src\main\java目录下执行javah 包名.类名
1.6:在bin/classes目录下执行
3. 在main下创建文件夹JNI,复制jni.h文件,创建需要用C编写的hello.c文件,函数名拷贝上面自动生成的。
#include "jni.h"
jstring Java_com_itheima_hellojni_MainActivity_helloFromC(JNIEnv* env,jobject obj){
char* str = "hello from c !!";
//在jni规范里面 在jni环境的结构体里面
(*NewStringUTF)(JNIEnv*, const char*);
//转化成了java的字符串
return (*(*env)).NewStringUTF(env,str);
4. 配置Android.mk文件
//指定编译的文件夹
指定当前文件目录
LOCAL_PATH := $(call my-dir)
//编译器会定义很多的临时变量,中间变量,最好清空所有的中间变量。
include $(CLEAR_VARS)
//编译出来模块的名称,等下自动生成SO库的文件名
LOCAL_MODULE :=hhhh
LOCAL_SRC_FILES := hello.c //C写的代码文件名
include $(BUILD_SHARED_LIBRARY)
5. 如果需要x86 mips CPU类型支持的话
//ABI:指应用基于哪种指令集来进行编译,ABI总共有四种,分别是armeabi、
//armeabi-v7a、mips、x86,它们都是表示cpu的类型
在jni目录下创建Application.mk文件。输入下面
APP_ABI := armeabi armeabi-v7a x86 mips
需在gradle.properties末尾添加
android.useDeprecatedNdk=true
7. 生成动态.SO库文件
**在JNI目录下执行DOS命令:ndk-build.cmd 或ndk-build**
8. 在主类中,把动态链接库加载到jvm虚拟机
System.loadLibrary("库文件名称不带前缀,后缀名");
9。最重要一步:如果出现下面错误
java.lang.UnsatisfiedLinkError: Couldn't load hell0: findLibrary returned null
.在根目录的build.gradle文件里添加
defaultConfig {
versionCode 1
versionName "1.0"
moduleName "hhhh" //必须加上,否则在AS中就报错。
// ldLibs "log","z","m" 可以不写,在C代码打印Log
//这个和上面添加多CPU类型一样,可以不写
// abiFilters "armeabi","armeabi-v7a","x86","mips"
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:250次
排名:千里之外android studio 怎么复制c-中国学网-中国IT综合门户网站
> 信息中心 >
android studio 怎么复制c
来源:互联网 发表时间: 6:13:33 责任编辑:王亮字体:
为了帮助网友解决“android studio 怎么复制c”相关的问题,中国学网通过互联网对“android studio 怎么复制c”相关的解决方案进行了整理,用户详细问题包括:RT,我想知道:android studio 怎么复制ctrl+f1提示的内容,具体解决方案如下:解决方案1:如题,eclipse可以按f2,android studio 怎么弄解决方案2:可以用ctrl+q,如果你没改快捷键解决方案3:ctrl+q得到是类或方法的介绍,并不是提示的内容解决方案4:eclipse的F2不就是显示注释的内容吗,as的ctrl+q也是一样的效果。要复制的话可以拖动选中后右键复制。解决方案5:比如有一个错误提示,在eclipse中f2就可以弹出并复制了,在Android Studio中 ,ctrl+f1可以查看内容,但并不好复制,鼠标一动就没有了,ctrl+q并不会弹出错误提示的内容解决方案6:as是不能复制错误提示解决方案7:Thank you all the same!
4个回答1个回答1个回答3个回答1个回答1个回答1个回答1个回答1个回答1个回答1个回答1个回答1个回答1个回答1个回答1个回答1个回答4个回答1个回答
相关文章:
最新添加资讯
24小时热门资讯
Copyright © 2004- All Rights Reserved. 中国学网 版权所有
京ICP备号-1 京公网安备02号}

我要回帖

更多关于 android studio的使用 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信