14

我正在尝试构建一个(继承的)Android 项目。我正在使用Ant 和命令行工具(和 IDEA)。

在styles.xml 中,存在无法解析的引用,例如:

<style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light">

这是我遇到的原始错误:

[...]/res/values/styles.xml:8: error: Error retrieving parent for item:
No resource found that matches the given name '@style/Theme.AppCompat.Light'.

然后我注意到project.properties我的(OS X)机器上有这个appcompat参考:

target=android-18
android.library.reference.1=../../../../adt-bundle-linux-x86_64/sdk/extras/android/support/v7/appcompat

我试图通过使参考相对于来解决这个问题${sdk.dir}

android.library.reference.1=${sdk.dir}/extras/android/support/v7/appcompat

所以现在这条路径应该是正确的。但是现在当我运行时ant debug

BUILD FAILED
/opt/android-sdk-macosx/tools/ant/build.xml:573: 
  /opt/android-sdk-macosx/extras/android/support/v7/appcompat resolve to a 
  path with no project.properties file for project /Users/joka/devel/project/

那么,有什么想法吗?构建这个项目的最简单方法是什么?

(请注意,特定于 Ecpise 的建议对我没有用处。)

编辑:Android SDK 安装如下所示:

在此处输入图像描述

4

3 回答 3

9

正如 Jay 指出的那样,只有相对路径才能在 Unix/Mac 上运行。

为了使 Ant 构建工作,我还需要使用命令为 appcompat 项目生成build.xml ,在我的例子中:android update project -p <dir>

/opt/android-sdk-macosx/tools/android update project 
    -p /opt/android-sdk-macosx-r22.0.1/extras/android/support/v7/appcompat

对我来说确切的配置是:

android.library.reference.1=../../../../../../../opt/android-sdk-macosx/extras/‌​android/support/v7/appcompat

(这也适用于local.properties,我认为这是一个更好的地方,因为相同的路径不适用于所有开发人员。)


我只是按照某人的建议将我6 个月前的评论提升为答案。

顺便说一句,既然我实际上对 Android 开发有所了解,我会敦促任何有机会放弃 Ant 并研究新的基于 Gradle 的构建系统的人,相比之下它是完全甜蜜的。它是 CI 友好的,并且可以轻松地自动化有用的东西(例如为不同的构建类型使用不同的包名称和应用程序图标)。当您遇到问题时,Stack Overflow 会有所帮助。

将支持库与 Gradle 一起使用,您将跳过上述所有麻烦,只需执行以下操作:

dependencies {
    compile "com.android.support:appcompat-v7:18.0.+"
}
于 2014-02-26T23:27:14.407 回答
6

我遇到了同样的问题,所以我尝试使用相对路径并为我解决了问题。看起来只有相对路径适用于 android.library.reference。我进行了快速搜索以验证这一点,并遇到了这个 stackoverflow 链接,它表明绝对路径可以在 Windows 上与 android.library.reference 一起使用,但在 Unix 或 Mac 上则不行。

和平。

于 2013-08-13T20:59:30.030 回答
0

您的路径似乎是错误的(您缺少“兼容性”部分)。v7-appcompat 库位于

{sdkpath}/extras/android/compatibility/v7/appcompat

对我来说(Max OS X 10.7.5 上的 SDK 工具版本 22.0.5)

于 2013-08-13T13:19:04.863 回答