1.在VScode里面找到github-copilot插件,安装

安装完后,右边就有和github-copilot交互的界面,可以选择询问或者编辑

询问是相当于一个对话功能,强大在于编辑,它可以直接操作电脑文件以及给你生成代码文件里面有很多大模型可以选择

目前用的比较好的是claude 3.5
话不多说,开始操作:
演示一个小功能:写一个在全志A133 上面APP控制底层GPIO的demo,这里面需要写一个APP demo以及中间层JNI
1.先将一个文件夹加入建立一个工作区:

2.我先初步写一下我的要的功能提示词:
帮我实现一个功能,在全志A133 android10平台APP控制底层GPIO的拉高拉低,以及GPIO状态的读取。具体要求和信息如下:
1.全志的GPIO编号计算方式通常是 (bank字母顺序 - 'A') * 32 + pin号,所以PG10可能是(6*32 +10)= 202
2.底层控制可以通过/sys/class/gpio控制
3.根据SDK结构给出完整的JNI源码
4.APP测试的demo也要给出来
这个提示词还是写的比较简洁的,不过没关系,把这个此提示丢给AI,让AI给你的提示词润色一下
下面是AI根据我的提示词提供新的提示词,这个就清晰明了很多了
需求目标:
开发Android应用程序实现通过JNI接口对全志A133开发板上GPIO引脚的拉高/拉低控制和状态读取功能。
技术要求:
1.GPIO编号规范:
采用全志标准编号方式:(bank字母序值 - 'A') × 32 + pin号
示例:PG10 = 6(字母序) × 32 + 10 = 202
2.硬件接口层:
使用Android标准GPIO控制路径:/sys/class/gpio
需包含GPIO导出(unexport)、方向设定、值读写等基础操作
3.开发实现:
3.1完整的JNI层代码开发,包含:
✓ GPIO句柄管理
✓ 输入/输出模式配置
✓ 电平状态控制与读取
✓ 异常处理机制
3.2需与Android HAL层接口兼容
4验证组件
提供完整APK测试Demo
包含UI界面:GPIO列表选择、状态显示、控制按钮
内置日志打印功能辅助调试
5.开发规范:
需符合Android 10平台兼容性要求
代码需包含完整注释及开发文档
提供单元测试用例
6.交付物:
JNI层C/C++源码,可以直接放到android10SDK里面的测试APK
然后把这个丢给github copilot

它就会给我生成代码,跟它说明我是在android SDK里面编译源码的,它就会生成Android.mk

我把这些代码放到:android/packages/apps/GPIOControl
执行 mm进行编译
这个过程会遇到报错:

没关系,把这些错误复制下来丢给github-copilot,它会帮你修复好

改好后继续编译,直到编译通过为止
在多次调试后,APK和JNI库终于编译成功了


烧录固件测试:
打开界面如下

1660

被折叠的 条评论
为什么被折叠?



