创建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. Android -- ImageSwitch和Gallery 混合使用

    1. 实现效果

  2. Linux open函数

    Linux open函数 open 函数用于打开和创建文件.以下是 open 函数的简单描述 #include <fcntl.h> int open(const char *pathnam ...

  3. Windows Phone 8 Sync

    A lot of the below depends on the types of data, how often it is changing, and how often it is likel ...

  4. 最大乘积 Maximun Product

    最大乘积 题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=84562#problem/B 题意: 输入n个元素组成的序列s,你需要 ...

  5. 【周年版】Cnblogs for Android

    前言 扒衣见君节刚过去但是炎热夏天还在继续: 自14年8月推出博客园Android客户端以来,断断续续发了十几个后续版本,期间出现过各种问题,由于接口等诸多因素,每个模块的功能都可能随着时间和博客园主 ...

  6. [LintCode] Add Binary 二进制数相加

    Given two binary strings, return their sum (also a binary string). Have you met this question in a r ...

  7. 防止系统内存溢出触发OOM的一个内核参数

    [root@djf_dev_server ~]# sysctl -a|grep overcomvm.overcommit_memory = 0 0 内存不足报错(不会继续分配内存,防止oom)1 表示 ...

  8. Android中layout_gravity和gravity的区别

    安卓中的 layout_gravity 属性和 gravity属性 有啥区别? LinearLayout有两个非常相似的属性: android:gravity与android:layout_gravi ...

  9. SpringBoot实例

    7player 7号球员 -- Show Time !跳至内容 首发 左边锋 技术流 外援 教练 7号 基于SpringBoot + Mybatis实现SpringMVC Web项目[原创] 目录 [ ...

  10. ffmpeg命令行

    ubuntu下简单安装ffmpeg sudo add-apt-repository ppa:kirillshkrogalev/ffmpeg-nextsudo apt-get update sudo a ...