【问题标题】:How do I add the library android-support-v7 in IntelliJ IDEA (Not Android Studio/Gradle)?如何在 IntelliJ IDEA(不是 Android Studio/Gradle)中添加库 android-support-v7?
【发布时间】:2013-08-27 06:07:15
【问题描述】:

我从 Android SDK extras v7 文件夹中复制 appcompat 文件夹并在我的项目中创建一个 Android 库模块。编译项目时出现错误,第一个是

appcompat/res/layout/abc_action_mode_close_item.xml:17: 错误:错误:未找到与给定名称匹配的资源(在 'contentDescription' 处,值为 ' @string/abc_action_mode_done')

看起来 appcompat 也需要 mediarouter 资源。所以我创建了一个Android库模块mediarouter。我将 mediarouter 设置为 appcompat 库的依赖项。编译。现在我收到错误

mediarouter/res/values/styles.xml:18:错误:检索项目的父项时出错:未找到与给定名称匹配的资源 'Widget.AppCompat.ActionButton'.

我将依赖 appcompat 添加到 mediarouter。编译。现在我收到错误

appcompat/res/values/attrs.xml:32:错误:属性“windowActionBar”已被定义

救命!

【问题讨论】:

标签: android intellij-idea


【解决方案1】:

您只需要在您的 appcompat/res/values/strings 中添加“@string/abc_action_mode_done”。不要“将 mediarouter 设置为 appcompat 库的依赖项”。(在我的情况下,“@string/abc_action_mode_done”已经存在在 appcompat/res/values/strings 中。我不知道你为什么会错过它。)

"add depenency appcompat to mediarouter"是必须的。

【讨论】:

    【解决方案2】:

    我偶然发现了这个问题,这似乎是 IDEA 中的一个错误: 当您创建库模块时,IDEA 将在新模块中创建一些样板文件。在此操作期间,IDEA 将使用某种模板 strings.xml 文件覆盖 strings.xml 资源文件,该模板用于新创建的 android 应用程序(IDEA 还将创建其他您不想要或不需要的东西)。

    有两种解决方法: 1.先在IDEA中创建库模块,然后将appcompat-resources复制到已有的库模块目录下 2. 在 IDEA 中创建库模块之前,只需将子文件夹设为只读即可。这将阻止 IDEA 更改库中的文件。

    之后,在我的机器上编译的库模块。

    【讨论】:

      猜你喜欢
      • 2013-08-04
      • 2015-01-08
      • 1970-01-01
      • 2013-08-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多