2

我使用 GoogleCastSdkAndroid、mediarouter 和 appcompact 作为依赖项设置了 CastSampleActivity,我能够在手机上构建和启动。但是,生成的应用程序中不会出现 chromecast 图标:

http://i.stack.imgur.com/KxMFJ.png(截图)

当我打开 activity_cast_sample.xml 时,我看到以下内容:

The following classes could not be instantiated:
- android.support.v7.app.MediaRouteButton (Open Class, Show Error Log)

这导致堆栈跟踪:

java.lang.NullPointerException
at com.android.layoutlib.bridge.android.BridgeContext.resolveThemeAttribute(BridgeContext.java:278)
at android.content.res.Resources_Theme_Delegate.resolveAttribute(Resources_Theme_Delegate.java:64)
at android.content.res.Resources$Theme.resolveAttribute(Resources.java:1426)
at android.support.v7.app.MediaRouterThemeHelper.isLightTheme(MediaRouterThemeHelper.java:51)
at android.support.v7.app.MediaRouterThemeHelper.createThemedContext(MediaRouterThemeHelper.java:30)
at android.support.v7.app.MediaRouteButton.<init>(MediaRouteButton.java:121)
at android.support.v7.app.MediaRouteButton.<init>(MediaRouteButton.java:117)

有谁知道发生了什么?

这是来自 GitHub 的完全未经修改的 CastSampleActivity,当然我的 app_id 除外。我可以从 Youtube、Netflix 等进行投射...

4

2 回答 2

0

实例化错误是正常的。

您是否以任何方式更改了清单或主题设置?

于 2013-08-10T14:33:16.703 回答
0

我也有这个问题,项目设置不正确。你在使用 Gradle 吗?如果你是,那么你的 build.gradle 文件有点像:(记得把 googlecastsdk 库放在你的 libs 文件夹中)

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.6.1+'
    }
}
apply plugin: 'android'

repositories {
    mavenCentral()
}

android {
    compileSdkVersion 18
    buildToolsVersion "18.1.0"

    defaultConfig {
        minSdkVersion 7
        targetSdkVersion 16
    }
}

dependencies {
    compile "com.android.support:appcompat-v7:18.0.+"
    compile "com.android.support:mediarouter-v7:18.0.+"
    compile files('libs/GoogleCastSdkAndroid.jar')
}
于 2013-10-28T15:35:40.170 回答