Android支持库v7 + Maven + Eclipse:工作区中未找到apklib依赖项

5

我正在尝试在我的项目中配置v7支持库,以便使用ActionBarActivity,从而保持与一些Android 2.X版本的兼容性。

首先,按照Support Library Setup中的添加带资源的库部分,遵循Google的文档,将项目android-support-v7-appcompat作为库导入。但是这样做会导致Maven Build失败,因为它找不到所需库的依赖项。

现在,我决定寻求一个更清洁的解决方案,使我的依赖关系由Maven管理。为此,请按照答案的说明,但使用版本19.0.1。这使得我的Maven Build成功执行,但是我的项目在工作区中无法编译,在我的POM的第一行出现以下错误:

dependency=[com.android.support:appcompat-v7:apklib:19.0.1:compile]not found in workspace

我的依赖关系如下:

<dependency>
    <groupId>com.android.support</groupId>
    <artifactId>appcompat-v7</artifactId>
    <version>${com.android.support-version}</version>
    <type>apklib</type>
</dependency>
<dependency>
    <groupId>com.android.support</groupId>
    <artifactId>appcompat-v7</artifactId>
    <version>${com.android.support-version}</version>
    <type>jar</type>
</dependency>

这个项目在GitHub上,如果他们想查看它:https://github.com/veniltonjr/msplearning。提前感谢!
1个回答

4
首先,com.android.support:appcompat-v7没有apklib格式的文件,只有aar格式的文件。
其次,该库不在maven-central中提供,而是随Android SDK一起提供。您需要手动将其部署到本地maven存储库中。
虽然您可以使用maven-sdk-deployer构建并将apk部署到本地文件夹,但您的github项目由于缺少内部依赖项而失败。 com.msplearning.android-support-v4:jar:19.1.0com.msplearning:android-support-v7-appcompat:jar:19.1.0

嗨@Willian!我已经将JAR文件上传到我自己的Nexus仓库作为第三方工件。谢谢! - falvojr
1
如果您正在使用 Nexus,则有一个更简单的解决方案。只需为您的 Android SDK 构件创建一个 Nexus 存储库,并将其指向 Android SDK 构建的 maven 文件存储库的位置即可。然后就不需要手动部署了 :-) - William

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接