在Maven项目中添加Chromecast

时间:2013-10-25 08:42:40

标签: android maven chromecast

在过去的几天里,我一直在苦苦挣扎,在我的Android项目中添加Chromecast,这是用Maven构建的。

就像它是一个ANT项目一样,我将android-support-v7-mediarouter添加为库。我通过在我的pom.xml文件中添加以下依赖项来完成此操作:

<dependency>
    <groupId>android.support</groupId>
    <artifactId>compatibility-v7-mediarouter</artifactId>
    <version>18</version>
    <type>apklib</type>
</dependency>

我尝试构建项目时遇到的错误是:

No resource found that matches the given name 'Widget.AppCompat.ActionButton'

我觉得很明显,因为android-support-v7-mediarouter库没有对android-support-v7-appcompat的引用。

所以,我的问题是;我该如何解决?任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:1)

我不知道如何在maven中设置东西但要注意的一点是android-support-v7-mediarouter库依赖于appcompat支持库并在你自己的项目中使用它们其中应将其设置为库项目(即您只需将这些库的jar添加到您自己的项目中)。我不确定这些信息是否对您的maven设置有用,但我想如果它确实如此。

答案 1 :(得分:1)

所以这就是我解决它的方法:

首先,我为 android-support-v7-appcompat 库创建了一个POM文件(没有任何依赖项),并将库上传到我的存储库。

然后,我为 android-support-v7-mediarouter 库创建了一个POM文件,添加了 android-support-v7-appcompat 作为依赖项(两者都是apklib)和jar)并将此库上传到我的存储库。

就我而言,我选择使用CastCompanionLibrary。这个库有两个依赖项; android-support-v7-mediarouter google-play-services 。因此,下一步是为 google-play-services 创建一个POM,并将库上传到我的存储库。然后,我在 CastCompanionLibrary 中添加了一个POM,在那里我声明了它的两个依赖项(包括apklib和jar文件)。

最后,在我的项目的POM中,我添加了 CastCompanionLibrary 作为依赖项(只是apklib)和...瞧!如果您选择不使用CastCompanionLibrary,那么您只需将 android-support-v7-mediarouter google-play-services 作为依赖项添加到项目的POM中。

此外,请确保在添加依赖项时排除任何现有重复项。例如,我项目中其他一些声明的依赖项依赖于旧版本的 android-support-v7-appcompat ,我必须从所有版本中排除这些依赖项。

我希望这有帮助!