求助!Android程序如何控制GPIO

本人是最近刚入手rk3288的小白,项目的原因需要在Android的应用层控制GPIO的输出,我现在可以通过adb控制/sys/class/gpio下的export然后设置direction和value控制gpio的输出,但是在安卓的应用层应该怎么控制呢?之前有看到帖子说通过JNI来控制,但我是小白对此不是特别理解,不知道该怎么操作。
求大神告知应用层该如何控制gpio,最好能有比较详细的讲解,感激不尽!!!

本帖最后由 Leosword 于 2018-5-29 15:00 编辑

另外还有一个问题望各位大神解答,我在官网下的firefly-rk3288_android5.1_git_20180126 SDK,按照官网提供的命令编译Android:
Firefly-RK3288/Firefly-RK3288-Reload编译 Android:
cd ~/proj/firefly-rk3288-lollipop
source build.sh
lunch rk3288_box-userdebug
make -j8
./mkimage.sh

的时候,输入至make -j8命令运行一段时间后会提示如下错误:
注:某些输入文件使用了未经检查或不安全的操作。
注:有关详细信息,请使用-Xlint:unchecked 重新编译。
注:某些输入文件使用或覆盖了已过时的API。
注:有关详细信息,请使用-Xlint:deprecation 重新编译。
请问遇到这种情况我该怎么做呢?

同问啊同问

Leosword 发表于 2018-5-29 14:59
另外还有一个问题望各位大神解答,我在官网下的firefly-rk3288_android5.1_git_20180126 SDK,按照官网提供 …

关于编译的问题,请先编译内核

jpchen 发表于 2018-5-29 15:32
关于编译的问题,请先编译内核

你好,内核我已经编译过了,用的是官网的
cd ~/proj/firefly-rk3288-lollipop/kernel
make firefly-rk3288_defconfig
make -j8 firefly-rk3288.img
命令,
成功生成了kernel和resource并且成功的烧录进了开发板。
我一开始编译内核的目的是因为我更改了firefly-rk3288.dts文件,所以用上述命令编译了内核并烧录进了板子,结果发现我对dts文件的修改并没有生效,所以才想着是不是修改了dts要重新编译整个Android才行呢,之前没编译过Android,结果这次尝试的时候就遇到了上述的问题,请问该怎么解决呢,还请大神指教,感激不尽!!!

Leosword 发表于 2018-5-29 17:09
你好,内核我已经编译过了,用的是官网的
cd ~/proj/firefly-rk3288-lollipop/kernel
make firefly-rk3 …

编译完内核后,请重新编译上层
make installclean;make -j8

正常按照官网提供的工具安装之后,编译没啥问题:某些输入文件使用或覆盖了已过时的API。,这个问题,你试试make update-api

有解决android应用层控制gpio的方法吗

如有root权限,可用su执行shell指令来控制gpio

编写jni c程序编译为库给java调用