千呼万唤使出来...终于开始更新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. Unity NGUI制作scroll view

    unity版本:4.5 NGUI版本:3.6.5 参考链接:http://blog.csdn.net/monzart7an/article/details/23878505,作者:CSDN 冬菊子   ...

  2. HDU 4283 You Are the One

    题意:给定n(n<=100)个人,每个人有个固定的屌丝值D. 起初这些人是站成一行,当第i个人第j个去面试的时候他的值是 Di*j. 要求所有人面试之后 这些值加起来是最小的. 队伍站成一行(其 ...

  3. 树状数组(二维):COGS 1532 [IOI2001]移动电话

    1532. [IOI2001]移动电话 ★☆   输入文件:mobilephones.in   输出文件:mobilephones.out   简单对比 时间限制:5 s   内存限制:256 MB ...

  4. 搜索(DLX):HOJ 1017 - Exact cover

    1017 - Exact cover Time Limit: 15s Memory Limit: 128MB Special Judge Submissions: 6751 Solved: 3519 ...

  5. Java中的数据类型及相互转换方法

    本文主要讲解两个部分: 一.Java中的数据类型有哪些? 二.数字类型和字符串类型相互转换的方法? 一.Java中的数据类型有哪些: Java中的数据类型有:基本数据类型和引用数据类型: 基本数据类型 ...

  6. 优化exp/imp导入导出速度大全

    .exp  个相关的参数:DIRECT和RECORDLENGTH参数. DIRECT参数定义了导出是使用直接路径方式(DIRECT=Y),还是常规路径方式(DIRECT=N).常规路径导出使用SQL ...

  7. android 客户端 和 新浪微博如何打通的

    微博SDK 为开发者 提供访问oauth2.0 授权认证,并集合sso登录功能,使用第三方应用可通过 新浪微博的 登录操作 提供微博分享功能,可直接通过微博客户端分享微博 名词解释 AppKey 分配 ...

  8. idea unknow facet type web 解决方案

    菜单 -->Preferences-->Plugins 添加tomcat支持 如图: 然后 项目project-setting中 可以添加 web类型的facets了 pasting

  9. nginx 配置301转发

    学习nginx 推荐 http://www.nginx.cn/nginx-how-to 1. 设置域名解析 daijun.me 指向 234.33.22.21 2.主机234.33.22.21 ngi ...

  10. selenium webdriver启动Chrome浏览器后无法输入网址的解决办法

    通过selenium webdriver启动Chrome浏览器,脚本如下: from selenium import webdriver browser = webdriver.Chrome() br ...