Bugtags Android SDK 支持 cocos2d-x 游戏截屏

概述

本文将帮助 cocos2d-x 游戏开发者集成 Bugtags Android SDK(version >= V1.1.0)。

环境准备

一个能够在 Android 设备上运行的 cocos2d-x 游戏程序,通常包括如下的文件树:

.
├── Classes             //主逻辑
├── Resources           //资源
├── cocos2d             //cocos2d 库
├── proj.android        //Android 工程
├── proj.android-studio //Android Studio 工程,**本文主角**
└── proj.ios_mac        //iOS 和 Mac 工程

关于 proj.android-studio

这个工程将是我们的主角,也就是说,需要使用 Android Studio 来打包 cocos2d-x 游戏

没有 proj.android-studio 怎么办?

cocos2d-x SDK 在 v3.7 版本开始正式支持自动创建 proj.android-studio 工程模板,在此之前的版本,则需要手动将 proj.android 导出成 proj.android-studio。

其实也很简单,Android Studio 相对于 Eclipse,最重要的区别,就是使用了 gradle 进行打包。新版的 Android Studio 提供了非常友好的方式进行转换。

快速学习一下这篇博客 拥抱 Android Studio 之一:从 ADT 到 Android Studio,相信你很快就可以学会。

从 proj.android 到 proj.android-studio

编译运行 proj.android ,对应的 JNI 代码都会被打包成 .so 文件

使用 Import Project (Eclipse ADT, Gradle, etc.) 定位到 proj.android 文件夹,一路确定。

重要:要把新项目选在跟 proj.android 同一级文件夹

如果不出意外,将会有几个错误,主要是跟 NDK 有关,在 Android Studio 工程中,使用从 proj.android 转换过来的 .so 文件夹足以,不需要使用 NDK 编译功能。

错误一:NDK integration is deprecated

  • 描述
Error:(12, 0) Error: NDK integration is deprecated in the current plugin.  Consider trying the new experimental plugin.  For details, see http://tools.android.com/tech-docs/new-build-system/gradle-experimental.  Set "android.useDeprecatedNdk=true" in gradle.properties to continue using the current NDK integration.
<a href="openFile:/your/dir/proj.android-studio-original/your-app/build.gradle">Open File</a>
  • 解决方案 移除 your-app/build.gradle 中的如下内容:
ndk {
     moduleName "your-app_shared"
}

错误二:compileDebugNdk 失败

  • 描述
Error:Execution failed for task ':your-app:compileDebugNdk'.
> Error: NDK integration is deprecated in the current plugin.  Consider trying the new experimental plugin.  For details, see http://tools.android.com/tech-docs/new-build-system/gradle-experimental.  Set "android.useDeprecatedNdk=true" in gradle.properties to continue using the current NDK integration.
  • 解决方案 直接删除your-app/src/main/jni 文件夹

至此,程序将可以正常运行,你就已经拥有一个 Android Studio 工程了。

按照我们的 SDK 集成文档中的 maven 集成方式,进行集成。成功了之后,将会在游戏界面上看到一个小球,就是成功了!

评论