【懒人精灵】使用Cursor的智能对话,编写一个懒人精灵可用的工具类插件

工具和环境

开发环境:MacBook Pro
Cursor:2.0.34 (Universal)
Cursor无限续杯:Cursor-infinity-6.0.9.vsix
Android Studio:2024.2.2

开始操作

切换到Plan对话模式,选择Auto模型。

file

输入提示词,回车让Ai开始工作。

帮我从零搭建一个无UI的安卓apk插件项目,技术栈用 Kotlin,最小支持 Android 7,项目名称叫「xfxTools」,核心类是:字符串操作、文件和目录操作、正则表达式操作等,提供一些常用的函数。
对外暴露高阶API接口,供其他安卓应用调用。
要求项目方便扩展、注释清晰、并提供初始化入口setContext(context),方便传入外部应用的上下文。
请先生成完整的项目目录结构、build.gradle(Module 和 Project 级)、AndroidManifest.xml 配置,确保依赖和版本兼容。
请使用简体中文来对话。
附上懒人精灵调用示例:
local context = LuaEngine.getContext()
local loader = LuaEngine.loadApk('app-release.apk')
local v1 = loader.loadClass('com.xfx.tools')
print(v1)
v1.setContext(context) -- 初始化

对话会自动生成一个md文档,包含了下列操作步骤:

1、基礎結構:於 xfxTools/ 生成 Kotlin-only module,配置 settings.gradle、gradle.properties、build.gradle(Project)。
2、模組配置:撰寫 app/build.gradle,設定 minSdk 24、compile/targetSdk 34、kotlinOptions、必要依賴(Kotlin stdlib、AndroidX core-ktx)。
3、Manifest 與資源:建立 app/src/main/AndroidManifest.xml,宣告 package、允許無 Activity 的 library 型 manifest,添加必要權限 placeholder(如需)。
4、核心程式骨架:在 app/src/main/java/com/xfx/tools/ 下建立 XfxTools.kt(含 setContext 和對外 API 管理)、StringUtils.kt、FileUtils.kt、RegexUtils.kt,以 Kotlin object/class 形式提供常用函式並注釋。
5、API 接口:設計 ToolsApi 介面與 XfxTools 實作,封裝對外高階函式並示範調用流程,確保易擴展。

在生成项目文件的过程中,需要点回车确认。

生成完成以后,在Android Studio里打开项目,安装必要的依赖。

依赖安装完成后,打包出apk,导入到懒人精灵新建测试项目的rc资源库里。

此时生成的懒人精灵代码,运行的时候多半会报静态方法错误。

这是因为Ai不太懂懒人的开发导致的。需要把报错日志,提交给Ai来进行调整。

这个过程,需要经过多轮的调整和优化,直到能在懒人精灵里跑通。

最终的项目目录是这样的:

file

懒人精灵的调用代码:

import('com.nx.assist.lua.LuaEngine')

local loader = LuaEngine.loadApk('xfxTools-release.apk')
if not loader then
    print('Failed to load APK')
    return
end

local context = LuaEngine.getContext()

local XfxToolsCls = loader.loadClass('com.xfx.tools.Main')

-- 1) 靜態初始化
XfxToolsCls.init(context)

-- 2) 拿到各類工具
local strOps  = XfxToolsCls.stringOps() 
local fileOps = XfxToolsCls.fileOps() 
local regOps  = XfxToolsCls.regexOps() 

-- 字符串示例
local s = '   hello    world   '
local normalized = strOps.normalizeSpace(s)
print('normalized = ' .. normalized)

-- 文件示例
fileOps.writeText('logs/demo.txt', 'Hello from Lua\n', true)
local content = fileOps.readText('logs/demo.txt')
print('content = ' .. tostring(content))

运行输出的内容:

[23:34:007] [脚本/工具插件测试.lua:24] normalized = hello world
[23:34:007] [脚本/工具插件测试.lua:29] content = Hello from Lua
1. 官方交流QQ群,添加多个不批。建议使用安卓手机或电脑申请。
飞云脚本圈: 586333520飞云脚本圈
Auto.js学习交流③群:286635606
Auto.js学习交流②群:712194666(满员)
IOS免越狱自动化测试群:691997586
2. 盗版,破解有损他人权益和违法作为,请各位会员支持正版。
3. 本站部分资源来源于用户上传和网络搜集,如有侵权请提供版权证明并联系站长删除。
4.如未特别申明,本站的技术性文章均为原创,未经授权,禁止转载/搬运等侵权行为。
5.全站所有付费服务均为虚拟商品,购买后自动发货。售出后概不接受任何理由的退、换。注册即为接受此条款。
6.如果站内内容侵犯了您的权益,请联系站长删除。
飞云脚本 » 【懒人精灵】使用Cursor的智能对话,编写一个懒人精灵可用的工具类插件

企业级大数据智能营销管理系统

源码转让