千呼万唤使出来...终于开始更新lua版本的内容了,之前一直有这方面的计划,由于公司业务比较多,一直比较忙~见谅..

费话不多说,直接上内容..

整体来讲,先是先建议看一下之前关于cocos2dx上的使用,基本都是相通的。

一、修改lua的库,要想能在lua中调用talkingdata的内容,必须要把talkingdata的方法全部注册到lua中。

二、修改main方法,添加java对象的调用。

三、在初始化SDK。

=============咱们一步一步的来,主要就是这个配置路径比较麻烦==============

一、注册方法和类到lua库中:

  先说下通常的方法,通常是需要自己来创建一个pkg的文件,然后通修改Cocos2d.pkg,把自己的pkg添加到Cocos2d.pkg中,如图:

然后调用tolua++方法,把所有Cocos2d.pkg中注册的方法生成到一个LuaCocos2d.cpp类中,这个地方可以配置LuaCocos2d.cpp输出路径。

咱们这里跳过这一步,直接修改LuaCocos2d.cpp方法也是可以的。要注意到修改哪个LuaCocos2d.cpp文件才是正确的?

通过命令 ./create_project.py -project TDDemo -package com.talkingdata.lua -language lua生成一个lua的android工程,打开Android.mk文件

这说明了lua的运行环境是由cocos_lua_static这个模块来完成的,路径也已经指出。

打开/cocos2d-x-2.2.2/scripting/lua/cocos2dx_support/LuaCocos2d.cpp文件是一个6W+行的代码,不用理这么多,反正都注册的内容,咱们只要

找到在哪注册就好了,打开LuaCocos2d.cpp文件, 添加头文件使用#include "TalkingDataGA-Lua.h" (TalkingData会提供TalkingDataGA-Lua.cpp和TalkingDataGA-Lua.h这两个文件来辅助lua上的实现)搜索tolua_reg_types方法(从名字上也可以看出来这是一个注册的方法)找到最后一行。

添加tolua_reg_tdga_types (tolua_S);如图:

然后再搜索tolua_Cocos2d_open方法,到结尾添加tolua_tdga_open (tolua_S);

然后保存~~~~

别嫌麻烦,还剩下两步哦:

1 把TalkingDataGA-Lua.cpp和TalkingDataGA-Lua.h复制到cocos2dx_support目录下,如图:

2 修改 lua 这个模块的make文件。

做如下修改

这样,注册方法到lua库的工作已经打完收工~(如果哪位大神有简单的方式,一定要告诉我啊~QQ:542894008)

要想跑起来收集数据,还需要点修改,上面只是完成了方法的注册,还需要初始化的一些步骤:

一、设置TalkingData的编译路径,修改工程下面的build_native.sh文件

这两处是配置,在编译时候的寻找module的路径

二、修改main.cpp文件,添加TDJniHelper的方法

三、在Java的主类里添加初始化方法

最后 别忘记在添加权限:

<uses-permissionandroid:name="android.permission.INTERNET"/>

<uses-permissionandroid:name="android.permission.ACCESS_NETWORK_STATE"/>

<uses-permissionandroid:name="android.permission.READ_PHONE_STATE"/>

<uses-permissionandroid:name="android.permission.ACCESS_COARSE_LOCATION"/>

<uses-permissionandroid:name="android.permission.ACCESS_FINE_LOCATION"/>

<uses-permissionandroid:name="android.permission.ACCESS_WIFI_STATE"/>

<uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

再来看来在Lua里使用~~~

以上内容只是初稿,日后还会再仔细整理

TalkingDataGame SDK在android Lua上的使用的更多相关文章

  1. [原]详解如何将cocos2dx项目编译到Android平台上的(方式一:Cywin+NDK)

    链接地址:http://m.blog.csdn.net/blog/yhc13429826359/29357815 2014-6-8阅读578 评论0 前言:cocos2dx作为一个开源的移动2D游戏框 ...

  2. Android github上的好的开源项目汇总

    转自:http://blog.csdn.net/ithomer/article/details/8882236 GitHub 上的开源项目不胜枚举,越来越多的开源项目正在迁移到GitHub平台上.基于 ...

  3. 让“是男人就下到100层”在Android平台上跑起来

    原工程:https://github.com/jeekun/DownFloors 移植后的代码:HelloCpp.zip 移植后的APK:HelloCpp.apk 说明:(cocos2d-x版本是“ ...

  4. Android Studio上NDK/JNI开发环境问题

    基础环境: 操作系统 —— Windows 7 Android Studio —— 1.5.1(android-studio-bundle-141.2456560-windows.exe) NDK — ...

  5. ArcGIS Runtime SDK for Android 10.2.5新开发平台安装配置指南

    ArcGIS Runtime SDK for Android 10.2.5版本在年前发布,其中一个重大的变化是:新版本使用了新的开发环境,在10.2.5版本中Esri使用了官方提供的新的Android ...

  6. 【转】Ubuntu搭建Eclipse+JDK+SDK的Android

    原文网址:http://blog.csdn.net/ithomer/article/details/6960989 今晚重装Ubuntu系统,重新安装了一套eclipse+jdk+SDK的Androi ...

  7. 理解WebKit和Chromium: 调试Android系统上的Chromium

    转载请注明原文地址:http://blog.csdn.net/milado_nju 1. Android上的调试技术 在Android系统上,开发人员能够使用两种不同的语言来开发应用程序,一种是Jav ...

  8. 安装 ArcGIS Runtime SDK for Android

    ArcGIS for Android 开发:Android 平台搭建 - liyong20080101的专栏 - 博客频道 - CSDN.NET http://blog.csdn.net/liyong ...

  9. 【转】Windows搭建Eclipse+JDK+SDK的Android

    原文网址:http://blog.csdn.net/sunboy_2050/article/details/6336480 一 相关下载 (1) Java JDK下载: 进入该网页: http://j ...

随机推荐

  1. 【HDOJ】2531 Catch him

    简单BFS.就是要把所有的D点当成一个整体考虑(整体移动). /* 2531 */ #include <iostream> #include <queue> #include ...

  2. MFC弹出模拟对话框

    Windows对话框分为两类:模态对话框和非模态对话框. 模态对话框是这样的对话框,当它弹出后,本应用程序其他窗口将不再接受用户输入,只有该对话框响应用户输入,在对它进行相应操作退出后,其他窗口才能继 ...

  3. weblogic启动报错之WLS_DIAGNOSTICS000000.DAT

    查看控制台日志报错信息如下: <-- 下午04时46分42秒 CST> <Notice> <Log Management> <BEA-> <The ...

  4. 动态规划(水题):COGS 261. [NOI1997] 积木游戏

    261. [NOI1997] 积木游戏 ★★   输入文件:buildinggame.in   输出文件:buildinggame.out   简单对比时间限制:1 s   内存限制:128 MB S ...

  5. Linux 守护进程的启动方法

    守护进程”(daemon)就是一直在后台运行的进程(daemon). 本文介绍如何将一个 Web 应用,启动为守护进程. 一.问题的由来 Web应用写好后,下一件事就是启动,让它一直在后台运行. 这并 ...

  6. Failed to execute goal org.apache.maven.plugins:maven-clean-plugin:2.5:clean (default-clean) on project taotao-manager-web: Failed to clean project: Failed to delete \target\tomcat\logs\access_log.201

    点击console右上角叉号然后再点击红色小方形terminate

  7. ruby 安装 运行

    Ruby基础 一 简介 1.Ruby在windows平台下的安装 (1)下载地址:http://rubyinstaller.org/downloads/ (2)安装过程 这里我们选择安装路径为 D:\ ...

  8. Linux用户root忘记密码的解决(unbuntu16.04)

    参考: http://www.linuxidc.com/Linux/2012-04/59069.htm http://www.68idc.cn/help/server/linux/2015060735 ...

  9. quartz 定时任务的实现

    需求:项目中有一个任务,当时间到了会向移动端通过百度云推送推送信息,之前很傻叉的是写一个多线程一直扫描,每分钟扫描一次,比对当前时间和任务时间是否一样,结果把 项目跑死了,项目中用了一个简单的quar ...

  10. Xcode7连接网络设置

    XCode7连接互联网的时候需要再info.plist设置(之前版本都不需要)连接网络NSAppTransportSecurity  字典NSAllowsArbitraryLoads    布尔  Y ...