android 使用c 代码实现,JNI开发实现helloworld,调用自己的C代码实现(1)

JNI开发,实现自己的C代码,helloworld

在这里实现一个简单的demo,完成加载自己的C代码

使用Android studio,一步一步教你实现在屏幕上显示出helloworld

如下图显示,配置号NDK的路径,没有路径的需要自己下载,在Android NDK location 下按提示下载ndk-bundle,下载完成后,则会自动配置好NDK路径

9f73cc4067a5

来源于网络

在gradle.properties 文件里面添'android.useDeprecatedNdk=true',如果不添加的话会在编译的时候报错,提示添加这段代码,到时候按照提示进行添加也可。

9f73cc4067a5

来源于网络

修改build.gradle配置。打开\app\build.gradle文件,在'defaultConfig'里面添加如下代码

ndk{

moduleName "hello" //生成的so名字

abiFilters "armeabi", "armeabi-v7a", "x86" //输出指定的三种abi体系下的so库

}

如图:

9f73cc4067a5

来源于网络

下面是在Activity写下的调用代码:

package com.cxria.ndkapplication;

import android.support.v7.app.AppCompatActivity;

import android.os.Bundle;

import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

private TextView mTextView;

static {

//加载需要的library

System.loadLibrary("hello");

}

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

mTextView = (TextView) findViewById(R.id.textview);

mTextView.setText(getStringFromJNI());

}

//C语言实现的方法

public static native String getStringFromJNI();

}

全部代码,我都粘贴出来了.

打开终端,在Android studio最下面的导航栏Terminal 输入如下的命令

进入app/src/main目录下新建jni目录:cd app/src/main –> mkdir jni (也可以找到指定目录手动创建)

然后进入app/src/main/java目录下编译:cd app/src/main/java –> javah -jni com.cxria.ndkapplication.MainActivity 注意一定要加上包路径。

执行完上述操作后,会在java目录下生成com_cxria_ndkapplication_MainActivity.h头文件,我们在MainActivity中写的本地方法的方法名已经在里边了。

9f73cc4067a5

在之前的jni文件夹下面新建'hello.c',在里面编写我们的C语言代码

9f73cc4067a5

编译运行,就能在屏幕上显示出'helloworld'了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值