首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >谷歌Play服务Unity3d插件

谷歌Play服务Unity3d插件
EN

Stack Overflow用户
提问于 2014-07-09 00:29:22
回答 2查看 2.3K关注 0票数 1

我之前为Unity3d实现了谷歌play服务插件,一切都运行得很好,我更改了项目名称,并更新了开发人员控制台,以从测试项目转到实际的游戏,这时一切都崩溃了。我知道应用程序ID需要匹配,我再次按照所有方向操作,但似乎我做错了什么,找不到问题所在。

自从这个插件问世以来,Unity3d和Android SDK都进行了更新,我也想验证它是否仍然有效,因为Google play服务有几个变化。

下面是我在错误发生时的日志。到目前为止,我将其限制为仅尝试登录,这是应用程序关闭并失败的时候。

代码语言:javascript
复制
--------- beginning of /dev/log/main
--------- beginning of /dev/log/system
E/gpop.InstalledAppsGrid( 2351): Hidden list size 77
E/gpop.InstalledAppsGrid( 2351): Hidden list size 77
E/KeyMappingDownloader( 2351): No keymapping for com.DPGaming.Evolution
E/SQLiteDatabase( 2885): close() was never explicitly called on database '/data/data/com.google.android.gms/databases/metrics.db' 
E/SQLiteDatabase( 2885): android.database.sqlite.DatabaseObjectNotClosedException: Application did not close the cursor or database object that was opened here
E/SQLiteDatabase( 2885):    at android.database.sqlite.SQLiteDatabase.<init>(SQLiteDatabase.java:1943)
E/SQLiteDatabase( 2885):    at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:1007)
E/SQLiteDatabase( 2885):    at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:986)
E/SQLiteDatabase( 2885):    at android.database.sqlite.SQLiteDatabase.openOrCreateDatabase(SQLiteDatabase.java:1051)
E/SQLiteDatabase( 2885):    at android.app.ContextImpl.openOrCreateDatabase(ContextImpl.java:779)
E/SQLiteDatabase( 2885):    at android.content.ContextWrapper.openOrCreateDatabase(ContextWrapper.java:221)
E/SQLiteDatabase( 2885):    at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:157)
E/SQLiteDatabase( 2885):    at android.database.sqlite.SQLiteOpenHelper.getReadableDatabase(SQLiteOpenHelper.java:231)
E/SQLiteDatabase( 2885):    at fyc.d(SourceFile:96)
E/SQLiteDatabase( 2885):    at fyc.a(SourceFile:220)
E/SQLiteDatabase( 2885):    at com.google.android.gms.googlehelp.service.ClearHelpHistoryIntentService.onHandleIntent(SourceFile:47)
E/SQLiteDatabase( 2885):    at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:65)
E/SQLiteDatabase( 2885):    at android.os.Handler.dispatchMessage(Handler.java:99)
E/SQLiteDatabase( 2885):    at android.os.Looper.loop(Looper.java:137)
E/SQLiteDatabase( 2885):    at android.os.HandlerThread.run(HandlerThread.java:60)
E/System  ( 2885): Uncaught exception thrown by finalizer
E/System  ( 2885): java.lang.IllegalStateException: Don't have database lock!
E/System  ( 2885):  at android.database.sqlite.SQLiteDatabase.verifyLockOwner(SQLiteDatabase.java:2090)
E/System  ( 2885):  at android.database.sqlite.SQLiteDatabase$1.entryRemoved(SQLiteDatabase.java:2182)
E/System  ( 2885):  at android.database.sqlite.SQLiteDatabase$1.entryRemoved(SQLiteDatabase.java:2178)
E/System  ( 2885):  at android.util.LruCache.trimToSize(LruCache.java:197)
E/System  ( 2885):  at android.util.LruCache.evictAll(LruCache.java:285)
E/System  ( 2885):  at android.database.sqlite.SQLiteDatabase.deallocCachedSqlStatements(SQLiteDatabase.java:2143)
E/System  ( 2885):  at android.database.sqlite.SQLiteDatabase.closeClosable(SQLiteDatabase.java:1126)
E/System  ( 2885):  at android.database.sqlite.SQLiteDatabase.finalize(SQLiteDatabase.java:1914)
E/System  ( 2885):  at java.lang.Daemons$FinalizerDaemon.doFinalize(Daemons.java:182)
E/System  ( 2885):  at java.lang.Daemons$FinalizerDaemon.run(Daemons.java:168)
E/System  ( 2885):  at java.lang.Thread.run(Thread.java:856)
E/SQLiteDatabase( 2885): close() was never explicitly called on database '/data/data/com.google.android.gms/databases/help_responses.db' 
E/SQLiteDatabase( 2885): android.database.sqlite.DatabaseObjectNotClosedException: Application did not close the cursor or database object that was opened here
E/SQLiteDatabase( 2885):    at android.database.sqlite.SQLiteDatabase.<init>(SQLiteDatabase.java:1943)
E/SQLiteDatabase( 2885):    at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:1007)
E/SQLiteDatabase( 2885):    at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:986)
E/SQLiteDatabase( 2885):    at android.database.sqlite.SQLiteDatabase.openOrCreateDatabase(SQLiteDatabase.java:1051)
E/SQLiteDatabase( 2885):    at android.app.ContextImpl.openOrCreateDatabase(ContextImpl.java:779)
E/SQLiteDatabase( 2885):    at android.content.ContextWrapper.openOrCreateDatabase(ContextWrapper.java:221)
E/SQLiteDatabase( 2885):    at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:157)
E/SQLiteDatabase( 2885):    at android.database.sqlite.SQLiteOpenHelper.getReadableDatabase(SQLiteOpenHelper.java:231)
E/SQLiteDatabase( 2885):    at fxy.c(SourceFile:122)
E/SQLiteDatabase( 2885):    at fxy.b(SourceFile:506)
E/SQLiteDatabase( 2885):    at com.google.android.gms.googlehelp.service.ClearHelpHistoryIntentService.onHandleIntent(SourceFile:48)
E/SQLiteDatabase( 2885):    at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:65)
E/SQLiteDatabase( 2885):    at android.os.Handler.dispatchMessage(Handler.java:99)
E/SQLiteDatabase( 2885):    at android.os.Looper.loop(Looper.java:137)
E/SQLiteDatabase( 2885):    at android.os.HandlerThread.run(HandlerThread.java:60)
E/System  ( 2885): Uncaught exception thrown by finalizer
E/System  ( 2885): java.lang.IllegalStateException: Don't have database lock!
E/System  ( 2885):  at android.database.sqlite.SQLiteDatabase.verifyLockOwner(SQLiteDatabase.java:2090)
E/System  ( 2885):  at android.database.sqlite.SQLiteDatabase$1.entryRemoved(SQLiteDatabase.java:2182)
E/System  ( 2885):  at android.database.sqlite.SQLiteDatabase$1.entryRemoved(SQLiteDatabase.java:2178)
E/System  ( 2885):  at android.util.LruCache.trimToSize(LruCache.java:197)
E/System  ( 2885):  at android.util.LruCache.evictAll(LruCache.java:285)
E/System  ( 2885):  at android.database.sqlite.SQLiteDatabase.deallocCachedSqlStatements(SQLiteDatabase.java:2143)
E/System  ( 2885):  at android.database.sqlite.SQLiteDatabase.closeClosable(SQLiteDatabase.java:1126)
E/System  ( 2885):  at android.database.sqlite.SQLiteDatabase.finalize(SQLiteDatabase.java:1914)
E/System  ( 2885):  at java.lang.Daemons$FinalizerDaemon.doFinalize(Daemons.java:182)
E/System  ( 2885):  at java.lang.Daemons$FinalizerDaemon.run(Daemons.java:168)
E/System  ( 2885):  at java.lang.Thread.run(Thread.java:856)
E/SQLiteDatabase( 2885): close() was never explicitly called on database '/data/data/com.google.android.gms/databases/history_query.db' 
E/SQLiteDatabase( 2885): android.database.sqlite.DatabaseObjectNotClosedException: Application did not close the cursor or database object that was opened here
E/SQLiteDatabase( 2885):    at android.database.sqlite.SQLiteDatabase.<init>(SQLiteDatabase.java:1943)
E/SQLiteDatabase( 2885):    at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:1007)
E/SQLiteDatabase( 2885):    at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:986)
E/SQLiteDatabase( 2885):    at android.database.sqlite.SQLiteDatabase.openOrCreateDatabase(SQLiteDatabase.java:1051)
E/SQLiteDatabase( 2885):    at android.app.ContextImpl.openOrCreateDatabase(ContextImpl.java:779)
E/SQLiteDatabase( 2885):    at android.content.ContextWrapper.openOrCreateDatabase(ContextWrapper.java:221)
E/SQLiteDatabase( 2885):    at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:157)
E/SQLiteDatabase( 2885):    at fzm.a(SourceFile:92)
E/SQLiteDatabase( 2885):    at com.google.android.gms.googlehelp.service.ClearHelpHistoryIntentService.onHandleIntent(SourceFile:49)
E/SQLiteDatabase( 2885):    at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:65)
E/SQLiteDatabase( 2885):    at android.os.Handler.dispatchMessage(Handler.java:99)
E/SQLiteDatabase( 2885):    at android.os.Looper.loop(Looper.java:137)
E/SQLiteDatabase( 2885):    at android.os.HandlerThread.run(HandlerThread.java:60)
E/System  ( 2885): Uncaught exception thrown by finalizer
E/System  ( 2885): java.lang.IllegalStateException: Don't have database lock!
E/System  ( 2885):  at android.database.sqlite.SQLiteDatabase.verifyLockOwner(SQLiteDatabase.java:2090)
E/System  ( 2885):  at android.database.sqlite.SQLiteDatabase$1.entryRemoved(SQLiteDatabase.java:2182)
E/System  ( 2885):  at android.database.sqlite.SQLiteDatabase$1.entryRemoved(SQLiteDatabase.java:2178)
E/System  ( 2885):  at android.util.LruCache.trimToSize(LruCache.java:197)
E/System  ( 2885):  at android.util.LruCache.evictAll(LruCache.java:285)
E/System  ( 2885):  at android.database.sqlite.SQLiteDatabase.deallocCachedSqlStatements(SQLiteDatabase.java:2143)
E/System  ( 2885):  at android.database.sqlite.SQLiteDatabase.closeClosable(SQLiteDatabase.java:1126)
E/System  ( 2885):  at android.database.sqlite.SQLiteDatabase.finalize(SQLiteDatabase.java:1914)
E/System  ( 2885):  at java.lang.Daemons$FinalizerDaemon.doFinalize(Daemons.java:182)
E/System  ( 2885):  at java.lang.Daemons$FinalizerDaemon.run(Daemons.java:168)
E/System  ( 2885):  at java.lang.Thread.run(Thread.java:856)
E/InputDispatcher( 2155): Motion event has invalid pointer count 0; value must be between 1 and 16.
E/InputDispatcher( 2155): Motion event has invalid pointer count 0; value must be between 1 and 16.
E/Constants( 2351): Getting new oem
E/Constants( 2351): product.oem not found
E/Constants( 2351): Getting new oem
E/Constants( 2351): product.oem not found
E/Constants( 2351): Getting new oem
E/Constants( 2351): product.oem not found
E/Sensor-AccelerometerUI( 2377): java.io.IOException: Connection refused
E/PGA     ( 4346): :::::::: PgaUtilsEnumToStr: invalid e 0x30e2
E/dalvikvm( 4346): Could not find class 'org.onepf.oms.appstore.TStoreRequestCallback', referenced from method org.onepf.oms.appstore.TStoreBillingService.launchPurchaseFlow
E/InputDispatcher( 2155): Motion event has invalid pointer count 0; value must be between 1 and 16.
E/NativeActivity( 4346): channel 'b321ddb0 com.DPGaming.Evolution/com.unity3d.player.UnityPlayerNativeActivity (client)' ~ Failed to receive dispatch signal.  status=-11
E/InputDispatcher( 2155): Motion event has invalid pointer count 0; value must be between 1 and 16.
E/NativeActivity( 4346): channel 'b321ddb0 com.DPGaming.Evolution/com.unity3d.player.UnityPlayerNativeActivity (client)' ~ Failed to receive dispatch signal.  status=-11
E/InputDispatcher( 2155): Motion event has invalid pointer count 0; value must be between 1 and 16.
E/NativeActivity( 4346): channel 'b321ddb0 com.DPGaming.Evolution/com.unity3d.player.UnityPlayerNativeActivity (client)' ~ Failed to receive dispatch signal.  status=-11
E/InputDispatcher( 2155): Motion event has invalid pointer count 0; value must be between 1 and 16.
E/NativeActivity( 4346): channel 'b321ddb0 com.DPGaming.Evolution/com.unity3d.player.UnityPlayerNativeActivity (client)' ~ Failed to receive dispatch signal.  status=-11
E/InputDispatcher( 2155): Motion event has invalid pointer count 0; value must be between 1 and 16.
E/NativeActivity( 4346): channel 'b321ddb0 com.DPGaming.Evolution/com.unity3d.player.UnityPlayerNativeActivity (client)' ~ Failed to receive dispatch signal.  status=-11
E/InputDispatcher( 2155): Motion event has invalid pointer count 0; value must be between 1 and 16.
E/NativeActivity( 4346): channel 'b321ddb0 com.DPGaming.Evolution/com.unity3d.player.UnityPlayerNativeActivity (client)' ~ Failed to receive dispatch signal.  status=-11
E/dalvikvm( 4346): Could not find class 'android.support.v4.app.FragmentActivity', referenced from method com.google.android.gms.common.GooglePlayServicesUtil.showErrorDialogFragment
E/dalvikvm( 4346): Could not find class 'android.support.v4.app.FragmentActivity', referenced from method com.google.android.gms.common.GooglePlayServicesUtil.showErrorDialogFragment
E/libEGL  ( 4346): call to OpenGL ES API with no current context (logged once per thread)

E/dalvikvm( 4409): Could not find class 'org.onepf.oms.appstore.TStoreRequestCallback', referenced from method org.onepf.oms.appstore.TStoreBillingService.launchPurchaseFlow 

另一个有更多输出和调试的LogCat,我已经找到了问题所在,但是我不知道从哪里开始修复它。以下日志在Social.localUser.Authenticate之后立即发生

代码语言:javascript
复制
*******************************LOGCAT*************************
I/SystemUpdateService( 5243): cancelUpdate (empty URL)

W/System.err( 4501): Error: /data/data/libqemu_wl.user.txt: open failed: ENOENT (No such file or directory)

I/ActivityManager( 4501): package `com.android.providers.downloads` whitelisting status = false

I/dalvikvm( 5725): Could not find method android.view.View.getDisplay, referenced from method com.google.android.gms.games.internal.PopupManager$PopupManagerHCMR1.h

W/dalvikvm( 5725): VFY: unable to resolve virtual method 800: Landroid/view/View;.getDisplay ()Landroid/view/Display;

D/dalvikvm( 5725): VFY: replacing opcode 0x6e at 0x0009

I/dalvikvm( 5725): Could not find method android.view.ViewTreeObserver.removeOnGlobalLayoutListener, referenced from method com.google.android.gms.games.internal.PopupManager$PopupManagerHCMR1.g

W/dalvikvm( 5725): VFY: unable to resolve virtual method 845: Landroid/view/ViewTreeObserver;.removeOnGlobalLayoutListener (Landroid/view/ViewTreeObserver$OnGlobalLayoutListener;)V

D/dalvikvm( 5725): VFY: replacing opcode 0x6e at 0x0037

W/PopupManager( 5725): 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.
EN

回答 2

Stack Overflow用户

发布于 2014-07-19 03:04:43

好了,我已经修复了导致它崩溃的任何问题,下面是我所做的更改:

第一步:创建全新的项目并完成开发人员控制台,只需发布一个简单的按钮即可登录。它起作用了。我现在知道我的Unity3d、Android APK和开发人员控制台程序都是正确的。

第二步:转到项目我正在尝试开始工作,并创建一个新的场景,再次只添加一个登录按钮。它起作用了。所以我现在知道我的项目很好了,这跟代码有关。

第三步:我注释掉了所有的代码和对象,然后一个接一个地慢慢添加回来。这很痛苦。但我找到了问题的根源,问题是一个新玩家在尝试从云中加载时没有存储数据,因此返回的数据数组未初始化,我通过执行if(data.length > 0)来说明这一点,但这无论如何都会导致崩溃,所以简单的尝试并捕获并使用返回的数据,就好像假设它的正确工作很好一样。

票数 2
EN

Stack Overflow用户

发布于 2014-07-10 06:18:00

你提到更改项目的名称,这包括包的名称吗?我建议您看一下Android Manifest,以防活动管理器试图调用错误的包/活动。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24637032

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档