【问题标题】:Android Library Import delete RAndroid库导入删除R
【发布时间】:2011-11-29 11:35:18
【问题描述】:

我正在制作一个新的 android 应用,并且正在使用操作栏 sherlock 库。

我将库作为项目导入,但出现两个错误。 首先,在 gen.R 文件中找不到我的所有布局,因为我没有 gen.R 文件。 “R 无法解析为变量”

其次,我在一些论坛上读到清理和重建可以提供帮助,但这并没有解决我的问题。清理后,我得到了这个错误:

[2011-11-29 12:17:08 - DroidFridge] C:\Users\Felix Wackernagel\Downloads\JakeWharton-ActionBarSherlock-79a1bbc\library\res\values-v11\abs__styles.xml:4: error: Error retrieving parent for item: No resource found that matches the given name 'android:Theme.Holo'.
[2011-11-29 12:17:08 - DroidFridge] C:\Users\Felix Wackernagel\Downloads\JakeWharton-ActionBarSherlock-79a1bbc\library\res\values-v11\abs__styles.xml:47: error: Error: No resource found that matches the given name: attr 'android:actionBarSize'.
[2011-11-29 12:17:08 - DroidFridge] C:\Users\Felix Wackernagel\Downloads\JakeWharton-ActionBarSherlock-79a1bbc\library\res\values-v11\abs__styles.xml:48: error: Error: No resource found that matches the given name: attr 'android:actionBarStyle'.
[2011-11-29 12:17:08 - DroidFridge] C:\Users\Felix Wackernagel\Downloads\JakeWharton-ActionBarSherlock-79a1bbc\library\res\values-v11\abs__styles.xml:50: error: Error: No resource found that matches the given name: attr 'android:actionBarTabBarStyle'.
[2011-11-29 12:17:08 - DroidFridge] C:\Users\Felix Wackernagel\Downloads\JakeWharton-ActionBarSherlock-79a1bbc\library\res\values-v11\abs__styles.xml:49: error: Error: No resource found that matches the given name: attr 'android:actionBarTabStyle'.
[2011-11-29 12:17:08 - DroidFridge] C:\Users\Felix Wackernagel\Downloads\JakeWharton-ActionBarSherlock-79a1bbc\library\res\values-v11\abs__styles.xml:51: error: Error: No resource found that matches the given name: attr 'android:actionBarTabTextStyle'.
[2011-11-29 12:17:08 - DroidFridge] C:\Users\Felix Wackernagel\Downloads\JakeWharton-ActionBarSherlock-79a1bbc\library\res\values-v11\abs__styles.xml:52: error: Error: No resource found that matches the given name: attr 'android:actionButtonStyle'.
[2011-11-29 12:17:08 - DroidFridge] C:\Users\Felix Wackernagel\Downloads\JakeWharton-ActionBarSherlock-79a1bbc\library\res\values-v11\abs__styles.xml:53: error: Error: No resource found that matches the given name: attr 'android:actionDropDownStyle'.
[2011-11-29 12:17:08 - DroidFridge] C:\Users\Felix Wackernagel\Downloads\JakeWharton-ActionBarSherlock-79a1bbc\library\res\values-v11\abs__styles.xml:54: error: Error: No resource found that matches the given name: attr 'android:actionMenuTextAppearance'.
[2011-11-29 12:17:08 - DroidFridge] C:\Users\Felix Wackernagel\Downloads\JakeWharton-ActionBarSherlock-79a1bbc\library\res\values-v11\abs__styles.xml:55: error: Error: No resource found that matches the given name: attr 'android:actionMenuTextColor'.
[2011-11-29 12:17:08 - DroidFridge] C:\Users\Felix Wackernagel\Downloads\JakeWharton-ActionBarSherlock-79a1bbc\library\res\values-v11\abs__styles.xml:56: error: Error: No resource found that matches the given name: attr 'android:actionModeBackground'.
[2011-11-29 12:17:08 - DroidFridge] C:\Users\Felix Wackernagel\Downloads\JakeWharton-ActionBarSherlock-79a1bbc\library\res\values-v11\abs__styles.xml:57: error: Error: No resource found that matches the given name: attr 'android:actionModeCloseButtonStyle'.

...

此 XML 文件来自 ActionBarSherlock 库。 作为项目的库没有显示错误。

谁能帮帮我?

【问题讨论】:

  • android:Theme.Holo 是 android Honeycomb 及以上主题。尝试将 android:targetSdkVersion 更改为 11
  • 另外,如果你的包声明在 Manifest 和/或类中有错误,有时会找不到 R.java。

标签: android actionbarsherlock


【解决方案1】:

确保您的项目和导入的库使用相同的 Android 版本。

这通常与您的项目使用的 Android 版本有关,特别是当您导入与您的项目不同的版本时。

有关解决问题的演练,请参阅我的回答 here

【讨论】:

  • 这个库的全部意义在于可以在没有 Halo 主题的旧版 Android 中运行。将版本设置为与库相同不是一种选择。
  • @Marchy。您如何代表提出问题的八方发表评论?
  • @Videre 其他人也遇到了同样的问题,这是合法的。
【解决方案2】:

问题不在于 Android 版本,而在于 Java 版本。大多数 Android 库以及 Android 也无法处理 Java 1.7。我更改了我的项目属性并在 java 1.6 下构建了我的项目,它可以工作。 HoloEverywhere 的同样问题。

【讨论】:

    【解决方案3】:

    请注意,成功编译一个 android 项目并让它在旧版本的 android 上运行(大部分)是另一回事。

    为了您的回答, android:Theme.Holo 是 android Honeycomb 及以上主题。因此,ActionbarSherlock 和您的项目必须使用(最低)API 级别 11(Android 3.0)进行编译。通常我只选择 ICS (14+)

    让它在旧版本的 android 上运行: 打开您的项目清单文件,更改行:

    <uses-sdk android:targetSdkVersion="14"/>
    

    <uses-sdk android:minSdkVersion="7" android:targetSdkVersion="14"/>
    

    您的 android 应用可以从 API 级别 7 (2.2) 运行到 API 级别 14 (4.0)。 您可以通过 2.2 模拟器运行它来进行测试。

    请注意,ActionbarSherlock 不能在 API 级别低于 7 的情况下运行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-13
      • 1970-01-01
      • 2017-08-28
      • 2014-04-11
      • 2014-04-09
      • 2017-06-28
      • 1970-01-01
      相关资源
      最近更新 更多