创建Plugin目录

第一步,在plugin/plugins下,目录需要严格按照如下规范实现:

plugin/plugins/alipay/proj.android
/proj.ios

因为publish工具是按照这种格式的目录做操作的。

Android平台

能封装的基本都封装好了,需要做的就是创建一个Plugin工程,然后实现对应的Interface接口。

  1. 在Eclipse中导入plugin\protocols\proj.android工程。
  2. 创建Library工程,并依赖于libPluginProtocol。

    创建Libary工程的具体步骤如下(可略过,但需要注意包名、类名的格式),以QQWeibo为例:

    • New –> Android Application Project

      Application Name,Project Name为:libPluginQQWeibo,格式为libPlugin{XXX}; Package Name为:org.cocos2dx.libSocialQQWeibo,格式为org.cocos2dx.lib{Plugin类型}{Plugin标识}。

    • SDK 都选API 8,Theme:None。Next。

    • Mark this project as a library勾选,其余勾选都去掉。Location手动选择刚刚创建的Plugin proj.android目录。Finish。
  3. 实现Plugin,增加一些必要文件:

    • build.xml,直接从其它Plugin工程中复制,这是用来做Ant输出的编译配置。需要修改project name,如:

        <project name="libPluginQQWeibo" default="plugin-publish">
    • ForManifest.xml,用来自动修改目标工程的Manifest.xml文件的,里面填写当前Plugin需要的xml修改内容,比如:权限、Activity声明,等等。直接复制后修改,参考自带Plugin中的格式。
    • sdk目录,把第三方SDK的.jar文件放入。
    • ForAssets、DependProject用途参考自带Plugin。
  4. 实现Interface

    • 必须创建一个实现Interface的java类,这个类中封装SDK的功能,要求如下:

      右击src目录,New –> Package,Name:org.cocos2dx.plugin,不要有变化。 在这个Package下创建Java类文件,SocialQQWeibo,格式为{Plugin类型}{Plugin标识}。SuperClass空,Interface选择一个Plugin Interface类型,这里是InterfaceSocial。

    • 这个类一定要提供一个以 Context 为参数的构造函数,如下:

        public AnalyticsFlurry(Context context) {
      mContext = context;
      }
    • 其余就是Interface的实现了,按第3方SDK文档实现即可,任意发挥。

  5. 修改plugin/tools/config.sh,加入新的plugin目录名到ALL_PLUGINS变量,这样脚本会自动输出新增的plugin。

iOS平台暂时不看

总结

一系列处理看似麻烦,但非常有意义,不多说。

Cocos2d-x PluginX (二)增加新的Plugin的更多相关文章

  1. 在ECSHOP后台左侧导航中增加新菜单

    在ECSHOP后台左侧导航中增加新菜单 ECSHOP教程/ ecshop教程网(www.ecshop119.com) 2011-11-08   有个别高级用户(懂PHP的),提到这样的问题: 在后台管 ...

  2. SPRING IN ACTION 第4版笔记-第四章ASPECT-ORIENTED SPRING-010-Introduction为类增加新方法@DeclareParents、<aop:declare-parents>

    一. 1.Introduction的作用是给类动态的增加方法 When Spring discovers a bean annotated with @Aspect , it will automat ...

  3. RedHat6.5系统LVM增加新硬盘实现根文件系统扩容

    一.新增物理空间 二.linux中创建新分区 1.首先查看硬盘信息,用fdisk -l命令,如果有硬盘有剩余空间就可以对其进行分区. [root@master 桌面]# fdisk -l Disk / ...

  4. Hadoop概念学习系列之Hadoop集群动态增加新节点或删除已有某节点及复制策略导向 (四十三)

    不多说,直接上干货! hadoop-2.6.0动态添加新节点 https://blog.csdn.net/baidu_25820069/article/details/52225216 Hadoop集 ...

  5. ECSHOP 商品增加新字段的方法

    在ecshop二次开发工作中,经常碰到一些ECSHOP高级使用者问我,如何给商品增加一个新字段,来录入一些新的内容. 下面我们结合ecshop后台“商品编辑”.“商品录入”来谈谈如何给ecshop商品 ...

  6. 使用Typescript重构axios(十二)——增加参数

    0. 系列文章 1.使用Typescript重构axios(一)--写在最前面 2.使用Typescript重构axios(二)--项目起手,跑通流程 3.使用Typescript重构axios(三) ...

  7. MYSQL设置远程账户登陆总结,mysql修改、找回密码、增加新用户,MySQL数据库的23个注意事项

    1.5 设置及修改Mysql root用户密码1 设置密码方法mysqladmin -u root password '123456'mysqladmin -u root -p'123456' pas ...

  8. ECSHOP 商品字段增加新字段的方法

    结合ecshop后台“商品编辑”.“商品录入”来谈谈如何给ecshop商品增加一个新字段,假设我们将这个新字段命名为 new_add 1.首先要修改数据表结构,给表 ecs_goods 增加新字段:n ...

  9. 在AndroidStudio v1.2.0中导入或增加新项目或工程(导入第三方类库或工程)

    以下说明基于AndroidStdudio版本v1.2 由于AndroidStudio项目止录与Eclipse中的Worksapce在意义上的改变,所以导入新包或建立新项目时并不和以前那样了. 下面是我 ...

随机推荐

  1. 【noiOJ】P1996

    1996:登山 查看 提交 统计 提问 总时间限制:  5000ms 内存限制:  131072kB 描述 五一到了,PKU-ACM队组织大家去登山观光,队员们发现山上一个有N个景点,并且决定按照顺序 ...

  2. HDU 1710 二叉树遍历,输入前、中序求后序

    1.HDU  1710  Binary Tree Traversals 2.链接:http://acm.hust.edu.cn/vjudge/problem/33792 3.总结:记录下根结点,再拆分 ...

  3. 腾讯 pc端面试(2015.10.26)

    整个面试过程全部围绕着我在前一家公司做过的项目开始提问.因为这个项目是我主要负责的,所以面试官第一个问题是让我讲解了整个项目的框架结构.在对于项目的框架结构的讲解方面,大致条理还算清醒但是因为很少对做 ...

  4. Linux-CentOS 6.5 mini 中没有curses.h的问题

    1.直接贴过程 [fengbo@CentOS: jigsaw]$ rpm -q ncursesncurses-5.7-3.20090208.el6.i686[fengbo@CentOS: jigsaw ...

  5. 初识WebSocket

    众所周知,Http协议是无状态的,并且是基于Request/Response的方式与服务器进行交互,也就是我们常说的单工模式.但是随着互联 网的发展,浏览器与服务端进行双向通信需求的增加,长轮询向服务 ...

  6. Windows Phone Foreground Toast

    Basically ToastPrompt is an UI component that derives from the Coding4Fun toolkit's abstract PopUp&l ...

  7. javascript使用两个逻辑非运算符(!!)的原因

    javascript使用两个逻辑非运算符(!!)的原因: 在有些代码中可能大家可能会注意到有些地方使用了两个逻辑非运算符,第一感觉就是没有必要,比如操作数是true的话,使用两个逻辑非的返回值还是tr ...

  8. query 的list()和iterator()区别

    区别: 1.返回的类型不一样,list返回List,iterate返回iterator. 2.查询策略不同.(获取数据的方式不一样,list会直接查询数据库,iterate会先到数据库中获取id,然后 ...

  9. 34款Firefox渗透测试插件工具

    工欲善必先利其器,firefox一直是各位渗透师必备的利器,小编这里推荐34款firefox渗透测试辅助插件,其中包含渗透测试.信息收集.代理.加密解密等功能. 1:Firebug Firefox的 ...

  10. 外部引用JavaScript文件乱码问题

    使用js外部文件输出中文乱码解决: 将js文件编码改为和页面的编码相同.