- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
这是我的第一篇文章,但我无法靠自己或 Google 搜索解决这个问题。任何见解都将得到认真考虑,因此非常感激。
我正在使用 LibGDX 框架,我的目标是通过 Google Play 游戏服务获得有效的成就和排行榜,并通过 AdMob 获得广告。
我能够使用 Theinvader360 的 Google Play 游戏服务教程设置功能性成就/排行榜。
AdMob 调用 list 条目的早期步骤给出了@integer 不可用的错误。最新版本的“google-play-services_lib”修复了此问题,但显示 BaseGameUtils 中的三个类已贬值。然后我从主要来源获取了最新版本的 BaseGameUtils 库。 (我会包含更多链接,但我的声誉不够高)
当前版本的有趣之处在于结构与上一个不同。在导入到 Eclipse 之前,我临时将“main”文件夹的标题更改为“BaseGameUtils”。然后我将这三个类从它们的“java”文件夹移动到“src”。这引发了 FragmentActivity 错误,因此我创建了一个“libs”文件夹并放入 android-support-v4.jar 以缓解此问题。
目前:
-BaseGameUtils 已检查“Is Library”并添加了“google-play-services_lib”作为引用。
-google-play-services_lib 已检查“是图书馆”。
-Android 游戏项目正在引用这两个库。
我转向 MainActivity 以使用此源将内容转换为最新方式:
https://developers.google.com/games/services/android/init
并向下滚动到“在没有 BaseGameActivity 的情况下使用 GameHelper”
按原样,应用程序会跳过它的初始屏幕并显示崩溃前的开始屏幕。这是日志:
04-17 02:43:28.994: D/dalvikvm(21249): Trying to load lib /data/app-lib/com.crtgames.cavebat-2/libgdx.so 0x424b0c00
04-17 02:43:29.004: D/dalvikvm(21249): Added shared lib /data/app-lib/com.crtgames.cavebat-2/libgdx.so 0x424b0c00
04-17 02:43:29.004: D/dalvikvm(21249): No JNI_OnLoad found in /data/app-lib/com.crtgames.cavebat-2/libgdx.so 0x424b0c00, skipping init
04-17 02:43:29.014: D/libEGL(21249): loaded /system/lib/egl/libEGL_adreno200.so
04-17 02:43:29.014: D/libEGL(21249): loaded /system/lib/egl/libGLESv1_CM_adreno200.so
04-17 02:43:29.014: D/libEGL(21249): loaded /system/lib/egl/libGLESv2_adreno200.so
04-17 02:43:29.024: I/Adreno200-EGL(21249): <qeglDrvAPI_eglInitialize:265>: EGL 1.4 QUALCOMM build: (CL3544079)
04-17 02:43:29.024: I/Adreno200-EGL(21249): Build Date: 03/28/13 Thu
04-17 02:43:29.024: I/Adreno200-EGL(21249): Local Branch: adreno_20130328
04-17 02:43:29.024: I/Adreno200-EGL(21249): Remote Branch:
04-17 02:43:29.024: I/Adreno200-EGL(21249): Local Patches:
04-17 02:43:29.024: I/Adreno200-EGL(21249): Reconstruct Branch:
04-17 02:43:29.094: D/dalvikvm(21249): GC_FOR_ALLOC freed 210K, 7% free 16805K/18028K, paused 19ms, total 19ms
04-17 02:43:29.104: I/dalvikvm-heap(21249): Grow heap (frag case) to 19.648MB for 2359312-byte allocation
04-17 02:43:29.134: D/dalvikvm(21249): GC_FOR_ALLOC freed <1K, 7% free 19108K/20336K, paused 24ms, total 24ms
04-17 02:43:29.144: D/dalvikvm(21249): GC_CONCURRENT freed <1K, 7% free 19111K/20336K, paused 2ms+1ms, total 14ms
04-17 02:43:29.144: D/GameHelper(21249): GameHelper: Debug log enabled.
04-17 02:43:29.144: D/GameHelper(21249): GameHelper: Setup: requested clients: 7
04-17 02:43:29.154: W/PopupManager(21249): You have not specified a View to use as content view for popups. Falling back to the Activity content view which may not work properly in future versions of the API. Use setViewForPopups() to set your content view.
04-17 02:43:29.154: D/GameHelper(21249): GameHelper: onStart
04-17 02:43:29.154: D/GameHelper(21249): GameHelper: Connecting client.
04-17 02:43:29.154: W/ResourceType(21249): Failure getting entry for 0x7f06000d (t=5 e=13) in package 0 (error -75)
04-17 02:43:29.154: E/GooglePlayServicesUtil(21249): The Google Play services resources were not found. Check your project configuration to ensure that the resources are included.
04-17 02:43:29.174: W/ResourceType(21249): Failure getting entry for 0x7f06000d (t=5 e=13) in package 0 (error -75)
04-17 02:43:29.174: E/GooglePlayServicesUtil(21249): The Google Play services resources were not found. Check your project configuration to ensure that the resources are included.
04-17 02:43:29.184: W/ResourceType(21249): Failure getting entry for 0x7f06000d (t=5 e=13) in package 0 (error -75)
04-17 02:43:29.184: E/GooglePlayServicesUtil(21249): The Google Play services resources were not found. Check your project configuration to ensure that the resources are included.
04-17 02:43:29.194: I/AndroidInput(21249): sensor listener setup
04-17 02:43:29.234: I/Adreno200-EGL(21249): <qeglDrvAPI_eglInitialize:265>: EGL 1.4 QUALCOMM build: (CL3544079)
04-17 02:43:29.234: I/Adreno200-EGL(21249): Build Date: 03/28/13 Thu
04-17 02:43:29.234: I/Adreno200-EGL(21249): Local Branch: adreno_20130328
04-17 02:43:29.234: I/Adreno200-EGL(21249): Remote Branch:
04-17 02:43:29.234: I/Adreno200-EGL(21249): Local Patches:
04-17 02:43:29.234: I/Adreno200-EGL(21249): Reconstruct Branch:
04-17 02:43:29.264: D/OpenGLRenderer(21249): Enabling debug mode 0
04-17 02:43:29.274: W/GL2JNIView(21249): creating OpenGL ES 2.0 context
04-17 02:43:29.284: D/AndroidRuntime(21249): Shutting down VM
04-17 02:43:29.284: W/dalvikvm(21249): threadid=1: thread exiting with uncaught exception (group=0x41355ac8)
04-17 02:43:29.284: E/AndroidRuntime(21249): FATAL EXCEPTION: main
04-17 02:43:29.284: E/AndroidRuntime(21249): java.lang.IllegalStateException: A fatal developer error has occurred. Check the logs for further information.
04-17 02:43:29.284: E/AndroidRuntime(21249): at com.google.android.gms.internal.eh$h.b(Unknown Source)
04-17 02:43:29.284: E/AndroidRuntime(21249): at com.google.android.gms.internal.eh$h.a(Unknown Source)
04-17 02:43:29.284: E/AndroidRuntime(21249): at com.google.android.gms.internal.eh$b.ec(Unknown Source)
04-17 02:43:29.284: E/AndroidRuntime(21249): at com.google.android.gms.internal.eh$a.handleMessage(Unknown Source)
04-17 02:43:29.284: E/AndroidRuntime(21249): at android.os.Handler.dispatchMessage(Handler.java:99)
04-17 02:43:29.284: E/AndroidRuntime(21249): at android.os.Looper.loop(Looper.java:137)
04-17 02:43:29.284: E/AndroidRuntime(21249): at android.app.ActivityThread.main(ActivityThread.java:5293)
04-17 02:43:29.284: E/AndroidRuntime(21249): at java.lang.reflect.Method.invokeNative(Native Method)
04-17 02:43:29.284: E/AndroidRuntime(21249): at java.lang.reflect.Method.invoke(Method.java:511)
04-17 02:43:29.284: E/AndroidRuntime(21249): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102)
04-17 02:43:29.284: E/AndroidRuntime(21249): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869)
04-17 02:43:29.284: E/AndroidRuntime(21249): at dalvik.system.NativeStart.main(Native Method)
04-17 02:43:29.304: D/dalvikvm(21249): Trying to load lib /data/app-lib/com.crtgames.cavebat-2/libgdx.so 0x424b0c00
04-17 02:43:29.304: D/dalvikvm(21249): Shared lib '/data/app-lib/com.crtgames.cavebat-2/libgdx.so' already loaded in same CL 0x424b0c00
04-17 02:43:29.304: I/GL2(21249): all initialized 2
04-17 02:43:29.304: I/AndroidGraphics(21249): OGL renderer: Adreno (TM) 320
04-17 02:43:29.304: I/AndroidGraphics(21249): OGL vendor: Qualcomm
04-17 02:43:29.304: I/AndroidGraphics(21249): OGL version: OpenGL ES 2.0 V@14.0 AU@ (CL@3544079)
04-17 02:43:29.304: I/AndroidGraphics(21249): OGL extensions: GL_AMD_compressed_ATC_texture GL_AMD_performance_monitor GL_AMD_program_binary_Z400 GL_EXT_debug_labelGL_EXT_debug_markerGL_EXT_robustness GL_EXT_texture_format_BGRA8888 GL_EXT_texture_type_2_10_10_10_REV GL_NV_fence GL_OES_compressed_ETC1_RGB8_texture GL_OES_depth_texture GL_OES_depth24 GL_OES_EGL_image GL_OES_EGL_image_external GL_OES_element_index_uint GL_OES_fbo_render_mipmap GL_OES_fragment_precision_high GL_OES_get_program_binary GL_OES_packed_depth_stencil GL_OES_depth_texture_cube_map GL_OES_rgb8_rgba8 GL_OES_standard_derivatives GL_OES_texture_3D GL_OES_texture_float GL_OES_texture_half_float GL_OES_texture_half_float_linear GL_OES_texture_npot GL_OES_vertex_half_float GL_OES_vertex_type_10_10_10_2 GL_OES_vertex_array_object GL_QCOM_alpha_test GL_QCOM_binning_control GL_QCOM_driver_control GL_QCOM_perfmon_global_mode GL_QCOM_extended_get GL_QCOM_extended_get2 GL_QCOM_tiled_rendering GL_QCOM_writeonly_rendering GL_EXT_sRGB GL_EXT_texture_filter_anisotropic GL_EXT_color_buffer_float GL_EXT_color_buffer_half_float
04-17 02:43:29.304: W/Adreno200-EGL(21249): <qeglDrvAPI_eglGetConfigAttrib:487>: EGL_BAD_ATTRIBUTE
04-17 02:43:29.304: W/Adreno200-EGL(21249): <qeglDrvAPI_eglGetConfigAttrib:487>: EGL_BAD_ATTRIBUTE
04-17 02:43:29.304: I/AndroidGraphics(21249): framebuffer: (5, 6, 5, 0)
04-17 02:43:29.304: I/AndroidGraphics(21249): depthbuffer: (16)
04-17 02:43:29.304: I/AndroidGraphics(21249): stencilbuffer: (0)
04-17 02:43:29.304: I/AndroidGraphics(21249): samples: (0)
04-17 02:43:29.304: I/AndroidGraphics(21249): coverage sampling: (false)
04-17 02:43:29.314: I/AndroidGraphics(21249): Managed meshes/app: { }
04-17 02:43:29.314: I/AndroidGraphics(21249): Managed textures/app: { }
04-17 02:43:29.314: I/AndroidGraphics(21249): Managed shaders/app: { }
04-17 02:43:29.314: I/AndroidGraphics(21249): Managed buffers/app: { }
04-17 02:43:31.026: V/MediaPlayer(21249): decode(53, 100761, 16502)
04-17 02:43:31.066: V/MediaPlayer(21249): decode(54, 117313, 10400)
04-17 02:43:31.096: V/MediaPlayer(21249): decode(55, 66517, 34194)
我的 MainActivity 代码:
public class MainActivity extends AndroidApplication implements GameHelperListener, ActionResolver {
private static final int REQUEST_LEADERBOARD = 0;
private GameHelper gameHelper;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
gameHelper = new GameHelper(this, GameHelper.CLIENT_ALL);
AndroidApplicationConfiguration cfg = new AndroidApplicationConfiguration();
cfg.useAccelerometer = false;
cfg.useCompass = false;
initialize(new CaveBat(this), cfg);
gameHelper.enableDebugLog(true);
GameHelperListener listener = new GameHelper.GameHelperListener() {
@Override
public void onSignInSucceeded() {
// handle sign-in succeess
}
@Override
public void onSignInFailed() {
// handle sign-in failure (e.g. show Sign In button)
}
};
gameHelper.setup(listener);
}
@Override
public void onStart(){
super.onStart();
gameHelper.onStart(this);
}
@Override
public void onStop(){
super.onStop();
gameHelper.onStop();
}
@Override
public void onActivityResult(int request, int response, Intent data) {
super.onActivityResult(request, response, data);
gameHelper.onActivityResult(request, response, data);
}
@Override
public boolean getSignedInGPGS() {
return gameHelper.isSignedIn();
}
@Override
public void loginGPGS() {
try {
runOnUiThread(new Runnable(){
public void run() {
gameHelper.beginUserInitiatedSignIn();
}
});
} catch (final Exception ex) {
}
}
@Override
public void submitScoreGPGS_Classic(int score) {
}
@Override
public void unlockAchievementGPGS(String achievementId) {
}
@Override
public void getLeaderboardGPGS_Classic() {
startActivityForResult(Games.Leaderboards.getLeaderboardIntent(
gameHelper.getApiClient(), "CgkIio298M4HEAIQAA"), REQUEST_LEADERBOARD);
}
@Override
public void getAchievementsGPGS() {
}
@Override
public void onSignInFailed() {
}
@Override
public void onSignInSucceeded() {
}
可能是构建路径或生命周期问题?此外,当注释掉 onStart()、onStop()、onActivityResult() 时,我的项目运行得非常好,直到我点击排行榜按钮,再次崩溃。任何帮助!
最佳答案
这似乎与谷歌播放服务有关。您应该在 list 中的标记处添加元数据。
<meta-data android:name="com.google.android.gms.games.APP_ID"
android:value="@string/app_id" />
关于java - 使用最新的 BaseGameUtils 的 Google Play 游戏服务 LibGDX 项目设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23130898/
这个问题已经有答案了: Is there any way to accept only numeric values in a JTextField? (20 个回答) It's possible i
我使用戴尔 XPS M1710。笔记本电脑的盖子、侧面扬声器和前置扬声器都有灯(3 组灯可以单独调节)和鼠标垫下方的灯。在 BIOS 中,我可以更改这些灯的颜色,至少是每个组。另外,我可以在鼠标垫下打
我知道我可以使用 在 iOS 5 中打开设置应用 [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs://"
我有一个 Django 应用程序,我正在尝试为其设置文档。目录结构如下: - doc - project | - manage.py 我已经设置了路径以便 Sphinx 可以看到东西,但是当我尝试使用
我正在使用 768mb ram 运行 centos 5.5。我一直在日志中获取 server reached MaxClients setting, consider raising the MaxC
我在具有以下配置的服务器内运行了 Drupal 安装: StartServers 5 MinSpareServers 5 MaxSpareServers 15 MaxClien
是否可以使用 Microsoft.Web.Administration 包为给定的 location 配置 asp 设置? 我想以编程方式将以下部分添加到本地 IIS applicationHost.
我一直在阅读为 kube-proxy 提供参数的文档,但没有解释应该如何使用这些参数。我使用 az aks create 创建我的集群使用 azure-cli 程序,然后我获得凭据并使用 kubect
我想知道与在 PHP 中使用 setcookie() 函数相比,在客户端通过 JavaScript 设置一些 cookie 是否有任何明显的优势?我能想到的唯一原因是减少一些网络流量(第一次)。但不是
我有一个按钮可以将 body class 设置为 .blackout 我正在使用 js-cookie设置cookie,下面的代码与我的按钮相关联。 $('#boToggle').on('click'
我有一堆自定义的 HTML div。我将其中的 3 存储在具有 slide 类的 div 中。然后,我使用该幻灯片类调用 slick 函数并应用如下设置: $('.slide').slick({
我正在创建一个应该在 Windows 8(桌面)上运行的应用 我需要: 允许用户使用我的应用启动“文件历史记录”。我需要找到打开“文件历史记录”的命令行。 我需要能够显示“文件历史记录”的当前设置。
我刚买了一台新的 MacBook Pro,并尝试在系统中设置 RVM。我安装了 RVM 并将默认设置为 ➜ rvm list default Default Ruby (for new shells)
由于有关 Firestore 中时间戳行为即将发生变化的警告,我正在尝试更改我的应用的初始化代码。 The behavior for Date objects stored in Firestore
在 ICS 中,网络 -> 数据使用设置屏幕中现在有“限制后台数据”设置。 有没有办法以编程方式为我的应用程序设置“限制后台数据”? 或 有没有办法为我的应用程序调出具有选项的“数据使用”设置? 最佳
我正在尝试使用 NextJS 应用程序设置 Jest,目前在 jest.config.js : module.exports = { testPathIgnorePatterns: ["/.n
我最近升级到 FlashDevelop 4,这当然已经将我之前的所有设置恢复到原来的状态。 我遇到的问题是我无法在新设置窗口的哪个位置找到关闭它在方括号、大括号等之前插入的自动空格的选项。 即它会自动
有没有办法以编程方式访问 iPhone/iPod touch 设置? 谢谢。比兰奇 最佳答案 大多数用户设置可以通过读取存储在 /User/Library/Preferences/ 中的属性列表来访问
删除某些值时,我需要选择哪些设置来维护有序队列。我创建了带有自动增量和主键的 id 的表。当我第一次插入值时,没问题。就像 1,2,3,4,5... 当删除某些值时,顺序会发生变化,例如 1,5,3.
我正在尝试设置示例 Symfony2 项目,如此处所示 http://symfony.com/doc/current/quick_tour/the_big_picture.html 在访问 confi
我是一名优秀的程序员,十分优秀!