作者: 岛城南荒=|查看: 8034|回复: 212
跳转到指定楼层
3-14 19:04

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
本帖最后由 岛城南荒= 于 2018-10-9 14:04 编辑

闲聊说明
本插件是使用JNI的方式调用Java内部函数(就是调用dll),构建JVM在酷Q中
算是,目前让酷Q支持Java最优的方案了
未来可能支持打包(jar->dll->cpk)等功能
不清楚什么原因QQ群显示不了,这里补上QQ交流群:427984429
Tip:SDKDemo在附件,帖子更新较慢,加上方交流群及时反馈bug,方便下载最新版本
注:插件已发布正式版,如遇bug,请提供日志并加上方交流群反馈

参考文档
描述文档
国内:Gitee文档
国际:Github文档
JCQ API 文档
国内:Gitee文档
国际:Github文档
注:本帖步骤文档可能为旧版,具体文档以 参考文档 为标准,有误或不懂的加上方交流群及时反馈
如何使用
1.下载并启用插件
2.打开设置界面,设置JRE目录
Tips:默认为空则从注册表和环境变量JAVA_HOME读取Jdk(包含了jre)路径
  注:请务必使用32位的JRE,因为酷Q是32位,否则会提示JRE加载失败
          如果遇到JRE的依赖dll缺失(
UnsatisfiedLinkError),请到附件处下载微软官方的VC环境
3.导入自己开发的插件(目录:app\com.sobte.cqp.jcq\app
4.重启酷Q即可在应用管理中看到
5.打开应用管理启用应用,如下图:

插件启用

插件启用

Tips:可以再控制台查看应用输出信息

如何开发(Demo)
   建议阅读 参考文档
1.下载 Demo ,导入到开发工具中
2.根据自己需求修改json文件,文件名需和 appid 相同
4.打开包中的应用主类,这里建议包到主类的全类名尽量和 appid 保持一致
   注:酷Q是事件驱动的模式,json中定义的事件,在主类中实现事件
5.根据自己的需求 编写,修改 所需代码,相关CQ类说明在参考文档
  1. // 群消息事件,详情参考Demo中的主类
  2. public int groupMsg(int subType, int msgId, long fromGroup, long fromQQ, String fromAnonymous, String msg, int font) {
  3.         // 以下是群消息要执行的代码
  4.         CQ.sendGroupMsg(fromGroup, CC.at(fromQQ) + "你发送了这样的消息:" + msg + "Java插件");
  5.         return 0;
  6. }
复制代码
6.在json中,指定主类
   注:如不设置则利用appid加载,最后一个单词自动大写查找 例:appid(com.example.demo) 则加载类 com.example.Demo
7.然后使用开发工具进行编译打包成jar
8.将jar依赖lib导入放置到,全局lib或单独lib中,jcq-coolq,工具自带了,可以不用导入(此位置可自定义)
   注:导入的依赖jar,尽量保证版本一致,避免不必要的错误
9.将打包好的jar和json,一起复制到 app 目录下
10.启动或重启酷Q即可运行插件
   注:因为JRE不能重新加载,重新加载插件需重启酷Q,重启插件无效
11.触发事件开始体验自己的插件吧,喵呜~
如何开发(自定义)
1.新建一个Java项目啦(推荐使用开发maven)
2.导入所需jar包
  
  1. <!-- Maven导入方式 -->
  2. <dependency>
  3.         <groupId>com.sobte.cqp</groupId>
  4.         <artifactId>jcq-coolq</artifactId>
  5.         <version>1.2.7</version>
  6. </dependency>
复制代码
注:非Maven开发请到附件处下载lib
3.新建一个类,并继承 JcqAppAbstract 实现一下抽象方法
4.在对应的事件里编写自己所需代码

例如:

示例

示例

5.打包成Jar包,应用依赖的Jar可以再应用同名目录下建立 lib 目录
  例:app\com.sobte.cqp.jcq\app\com.example.demo\lib
  Tip:创建 app\com.sobte.cqp.jcq\lib 及全局载入Jar包,但是全局lib优先于插件本身lib,出现相同Jar将优先加载全局lib
6.编写Json,用于保存应用信息(json文件要与应用appid相同)
注:Json编写方式基本与酷Q官方方式一致,其中class指带应用主事件类
7.将编译好的Jar和Json一起放置到app目录下
   放置到应用目录,按上方【如何使用】第3步操作即可
8.重新启动酷Q即可

资源下载
JCQ-CoolQ源码:Gitee  GitHub
Maven Demo.zip (7.99 KB, 下载次数: 375)

被感谢 23

打分: 5.0
打分: 5
支持  发表于 5-14 10:45
打分: 5
Nice!  发表于 4-11 21:56
本帖最后由 岛城南荒= 于 2018-3-16 23:30 编辑

bug相关的请回贴,或加群反馈,Demo在附件,谢谢支持,Thanks♪(・ω・)ノ
前排围观
厉害了,前排围观,最近SDK好多,让萌新不知如何选择
围观南荒大佬
居然前排没CP,过分了
前排围观
回复使用道具举报
cccz@3-14 19:16 +10 CP
拿了cp就跑
让萌新不知如何选择
所以说打算怎么把jar转换成dll
直接转肯定是不行的,后期会把Jar压入dll中,然后让dll释放出来就行了,毕竟Jar只依赖于JVM,而JVM可以通过代码让酷Q调用,间接的调用了Jar,也是本插件实现的核心 详情回复 发表于 3-14 19:18
初音Py2001 发表于 2018-3-14 19:16
所以说打算怎么把jar转换成dll

直接转肯定是不行的,后期会把Jar压入dll中,然后让dll释放出来就行了,毕竟Jar只依赖于JVM,而JVM可以通过代码让酷Q调用,间接的调用了Jar,也是本插件实现的核心
围观大佬
裹粉了
受邀前来围观
66666666666楼主我爱你
路过拿cp
围观南荒大佬  路过拿cp
支持作者。希望作者再接再厉
希望作者尽快优化bug
为了表示支持。已下载

被感谢 1

有问题可以加群反馈 详情回复 发表于 3-14 19:41
您需要登录后才可以回帖 登录 | 注册

本版积分规则尽量使你的回复能够对他人有所帮助

状态|Archiver|酷Q社区

Powered by Discuz!Designed by hexapp© 2018 CoolQ. All Rights Reserved.

快速回复返回顶部返回列表