所以我昨天一整天都在努力解决这个问题。我的应用程序应该连接到 GooglePlay(以访问排行榜),但是一旦我运行该GoogleApiClient.connect()
方法,应用程序就会崩溃(与 相同的问题.enableAutoManage
)。我什至无法捕捉到错误,因为客户端似乎运行了一个新线程。
我初始化GoogleApiClient
如下:
GoogleApiClient gaClient;
gaClient = new GoogleApiClient.Builder(this)
.addOnConnectionFailedListener(this)
.addApi(Games.API).addScope(Games.SCOPE_GAMES)
.build();
gaClient.connect()
即使我try-catch
在其周围添加了声明,只要我运行该应用程序就会崩溃。侦听器onConnectionFailed
没有被激活。我对项目有以下依赖项
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:26.+'
compile 'com.android.support:design:26.+'
compile 'com.google.android.gms:play-services-games:11.0.2'
compile 'com.google.android.gms:play-services-auth:11.0.2'
compile 'com.google.android.gms:play-services-ads:11.0.2'
compile 'com.android.support.constraint:constraint-layout:1.0.2'
testCompile 'junit:junit:4.12' }
我也试过版本:11.0.4
堆栈跟踪如下所示:
java.lang.NullPointerException: Attempt to invoke virtual method 'int com.huawei.lcagent.client.LogCollectManager.getUserType()' on a null object reference
at com.android.server.util.ReportTools.getUserType(ReportTools.java:86)
at com.android.server.util.ReportTools.isBetaUser(ReportTools.java:73)
at com.android.server.util.ReportTools.report(ReportTools.java:58)
at com.android.server.util.HwUserBehaviourRecord.appExitRecord(HwUserBehaviourRecord.java:65)
at com.android.server.am.ActivityManagerService$UiHandler.handleMessage(ActivityManagerService.java:1523)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:150)
at android.os.HandlerThread.run(HandlerThread.java:61)
at com.android.server.ServiceThread.run(ServiceThread.java:46)
由于堆栈跟踪,我相信它与我的手机有关,但不幸的是我无法访问另一个甚至模拟器。如果无法解决,是否有任何解决方法?
我还错过了一个让用户选择他想选择的帐户的功能,这connect()
已经集成在方法中了吗?
我知道已经有一个非常相似的问题,但没有一个答案对我有用。
提前致谢!