Cocos2d-x PluginX (二)增加新的Plugin
创建Plugin目录
第一步,在plugin/plugins下,目录需要严格按照如下规范实现:
plugin/plugins/alipay/proj.android
/proj.ios
因为publish工具是按照这种格式的目录做操作的。
Android平台
能封装的基本都封装好了,需要做的就是创建一个Plugin工程,然后实现对应的Interface接口。
- 在Eclipse中导入
plugin\protocols\proj.android
工程。 创建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。
实现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。
实现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文档实现即可,任意发挥。
修改plugin/tools/config.sh,加入新的plugin目录名到ALL_PLUGINS变量,这样脚本会自动输出新增的plugin。
iOS平台暂时不看
总结
一系列处理看似麻烦,但非常有意义,不多说。
Cocos2d-x PluginX (二)增加新的Plugin的更多相关文章
- 在ECSHOP后台左侧导航中增加新菜单
在ECSHOP后台左侧导航中增加新菜单 ECSHOP教程/ ecshop教程网(www.ecshop119.com) 2011-11-08 有个别高级用户(懂PHP的),提到这样的问题: 在后台管 ...
- 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 ...
- RedHat6.5系统LVM增加新硬盘实现根文件系统扩容
一.新增物理空间 二.linux中创建新分区 1.首先查看硬盘信息,用fdisk -l命令,如果有硬盘有剩余空间就可以对其进行分区. [root@master 桌面]# fdisk -l Disk / ...
- Hadoop概念学习系列之Hadoop集群动态增加新节点或删除已有某节点及复制策略导向 (四十三)
不多说,直接上干货! hadoop-2.6.0动态添加新节点 https://blog.csdn.net/baidu_25820069/article/details/52225216 Hadoop集 ...
- ECSHOP 商品增加新字段的方法
在ecshop二次开发工作中,经常碰到一些ECSHOP高级使用者问我,如何给商品增加一个新字段,来录入一些新的内容. 下面我们结合ecshop后台“商品编辑”.“商品录入”来谈谈如何给ecshop商品 ...
- 使用Typescript重构axios(十二)——增加参数
0. 系列文章 1.使用Typescript重构axios(一)--写在最前面 2.使用Typescript重构axios(二)--项目起手,跑通流程 3.使用Typescript重构axios(三) ...
- MYSQL设置远程账户登陆总结,mysql修改、找回密码、增加新用户,MySQL数据库的23个注意事项
1.5 设置及修改Mysql root用户密码1 设置密码方法mysqladmin -u root password '123456'mysqladmin -u root -p'123456' pas ...
- ECSHOP 商品字段增加新字段的方法
结合ecshop后台“商品编辑”.“商品录入”来谈谈如何给ecshop商品增加一个新字段,假设我们将这个新字段命名为 new_add 1.首先要修改数据表结构,给表 ecs_goods 增加新字段:n ...
- 在AndroidStudio v1.2.0中导入或增加新项目或工程(导入第三方类库或工程)
以下说明基于AndroidStdudio版本v1.2 由于AndroidStudio项目止录与Eclipse中的Worksapce在意义上的改变,所以导入新包或建立新项目时并不和以前那样了. 下面是我 ...
随机推荐
- Android -- ImageSwitch和Gallery 混合使用
1. 实现效果
- Linux open函数
Linux open函数 open 函数用于打开和创建文件.以下是 open 函数的简单描述 #include <fcntl.h> int open(const char *pathnam ...
- 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 ...
- 最大乘积 Maximun Product
最大乘积 题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=84562#problem/B 题意: 输入n个元素组成的序列s,你需要 ...
- 【周年版】Cnblogs for Android
前言 扒衣见君节刚过去但是炎热夏天还在继续: 自14年8月推出博客园Android客户端以来,断断续续发了十几个后续版本,期间出现过各种问题,由于接口等诸多因素,每个模块的功能都可能随着时间和博客园主 ...
- [LintCode] Add Binary 二进制数相加
Given two binary strings, return their sum (also a binary string). Have you met this question in a r ...
- 防止系统内存溢出触发OOM的一个内核参数
[root@djf_dev_server ~]# sysctl -a|grep overcomvm.overcommit_memory = 0 0 内存不足报错(不会继续分配内存,防止oom)1 表示 ...
- Android中layout_gravity和gravity的区别
安卓中的 layout_gravity 属性和 gravity属性 有啥区别? LinearLayout有两个非常相似的属性: android:gravity与android:layout_gravi ...
- SpringBoot实例
7player 7号球员 -- Show Time !跳至内容 首发 左边锋 技术流 外援 教练 7号 基于SpringBoot + Mybatis实现SpringMVC Web项目[原创] 目录 [ ...
- ffmpeg命令行
ubuntu下简单安装ffmpeg sudo add-apt-repository ppa:kirillshkrogalev/ffmpeg-nextsudo apt-get update sudo a ...