迅为开发板安卓JNI开发实战教程使用编译好的 so 库

转自迅为开发板安卓JNI开发指南

硬件平台:迅为iTOP-412开发板

 

B站搜索:北京迅为,免费观看同步视频教程:

 

 

上一小节我们已经编译了 so 库,那么我们或者其他人拿到这个 so 后要怎么使用呢?这一节我们通过写

一个简单的 app 来给大家演示下。

我们打开 AS,然后新建一个项目,选择一个空的 Activity,如下图所示:

 

 

 

这里我要注意一下,我们的包名要和我们调用的 jni 库的包名一样,否则会出问题,之前我们在写 jni 的时候,我们的包名如下图所示:

包名:

 

 

那么我们在新建工程的时候包名也要是这个,如下图所示:

 

 

创建成功以后,我们找到我们新创建的这个工程的所在目录,然后把我们之前编译好的 so 库放进去。

存放 so 库的文件夹一定要为 jniLibs,名字不要改,如下图所示:

 

 

 

 

Jnilibs 文件夹放的就是我们生成的 so 库,如下图所示:

 

 

然后我们点击一下 AS 软件的同步,如下所示:

 

 

同步完成以后就可以在工程目录下看到我们这个 so 的文件夹了,如下图所示:

 

 

 

 

然后我们在 MainActivity 里面引用我们这个库,我们添加以下代码:

static {

System.loadLibrary("native-lib");

}

如下图所示:

 

 

然后我们声明一下方法,在 MainActivity.java 里面添加以下代码,代码如下:

public native int LedOpen();

public native int LedClos();

public native int LedIoctl(int num,int en);

如下图所示:

 

 

然后我们打开 activity_main.xml 文件,

 

 

然后删掉以下代码:

 

 

 

设置俩个 button,代码如下:

<LinearLayout

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical"

android:gravity="center"

>

<Button

android:id="@+id/button2"

 

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="LED1 OFF" />

<Button

android:id="@+id/button1"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginTop="87dp"

android:text="LED1 ON" />

</LinearLayout>

添加完如下图所示:

 

 

 

然后打开 MainActivity.java,声明俩个按键,并且在按键的点击事件里面打开设备节点和进行控制 led

的操作,代码如下:

声明俩个按键:

private Button led1_on;

private Button led1_off;

按键的点击事件

led1_on = (Button) findViewById(R.id.button1);

led1_off = (Button) findViewById(R.id.button2);

led1_on.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) {

LedOpen();

LedIoctl(1, 1);

}

});

led1_off.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) {

LedOpen();

LedIoctl(0, 0);

}

});

}

如下图所示:

 

 

然后添加以下代码:

import android.view.View;

import android.widget.Button;

如下图所示:

 

 

然后我们连接开发板,这里我们使用的是 IMX6Q 开发板安卓 4.4 系统,这里一定要使用开发板,不然看不到点灯效果,连接好以后,我们点击运行,如下图所示:

 

 

然后我们就可以看到 app 已经成功安装到了开发板上,并且可以控制 led 灯

 

posted on 2020-09-04 15:48  月亮_2017  阅读(333)  评论(0编辑  收藏  举报