【问题标题】:Adding Umano's AndroidSlidingUpPanel as an Android Studio Library添加 Umano 的 AndroidSlidingUpPanel 作为 Android Studio 库
【发布时间】:2014-02-07 13:11:47
【问题描述】:

我已经在这里工作了几个小时,但我仍然无法让 Umano 的上滑面板库在 android studio (https://github.com/umano/AndroidSlidingUpPanel) 中工作。

我在项目的根目录下创建了一个“Libraries”目录,复制了里面的库源,并添加了以下内容:

-settings.gradle : include 'Libraries:AndroidSlidingUpPanel:library', ':MyProject'

-项目 build.gradle : compile project(':Libraries:AndroidSlidingUpPanel:library')

我已经尝试了一切,我可以让它编译但是一旦我使用了

</com.sothree.slidinguppanel.SlidingUpPanelLayout>

在布局中编译失败。

顺便说一句,如果我不将 build.gradle 的 gradle 路径降级到 .7 (was .8) ,我会在编译时收到错误消息。

我已将 maven 设置为依赖项,并且 v4.13.0.0 支持库在库和我的项目中都列为依赖项。

我到处寻找,我无法得到答案:任何人都可以提供创建项目并将其作为库包含的分步指南吗?

谢谢

编辑-澄清:

如果我执行上述所有操作并降级我的:

buildscript {
  dependencies {
    classpath 'com.android.tools.build:gradle:0.8.+'
  }

到:

buildscript {
  dependencies {
    classpath 'com.android.tools.build:gradle:0.7.+'
  }

我让项目编译。但是,如果我使用库中的布局:

<com.sothree.slidinguppanel.SlidingUpPanelLayout
    android:id="@+id/sliding_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_gravity="bottom"
    >

我收到以下错误:错误:解析 XML 时出错:SlidingUpPanel 布局节点上的未绑定前缀。这意味着该库实际上没有正确编译和包含。 这就是为什么我要求一步一步地将这个库添加到一个新的 Android Studio 项目中。

【问题讨论】:

  • 你的编译错误是什么?
  • 如果我要编译库,在我的布局中解析 SlidingUpPanel XML 元素时会出现构建错误。
  • 如果您不包含实际完整的错误消息,那么很难诊断问题。 “它给了我一个错误”没有帮助。
  • 对不起,我认为这是暗示:要么我可以编译它,它说解析 XML 时出错,库布局节点上的未绑定前缀(意味着库没有真正编译和包含正确)或者我可以'根本无法编译它,如果我不降级我的项目使用的等级,就会给我 Gradle 版本错误。
  • 我也可以看看你的 build.gradle 文件吗?当您尝试使用插件 v0.8 时,我会添加版本不匹配问题的答案。

标签: android compilation android-studio android-gradle-plugin


【解决方案1】:

在 Android Studio 达到 1.0 之前,您必须同步更新 Android Studio、Android Gradle 插件以及您正在使用的 Gradle 版本。一旦我们在 Android Studio 和插件上达到 1.0,我们将拥有更好的向后兼容性。

如果您使用的是 Android Studio 0.4.0 或更高版本(我强烈推荐;实际上它应该为您提供至少 0.4.2 的升级),那么您需要使用 v0.8插件:

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
       classpath 'com.android.tools.build:gradle:0.8.+'
    }
}

这需要 Gradle 1.10。您通常在 gradle/wrapper/gradle-wrapper.properties 文件 中指定这一行:

distributionUrl=http\://services.gradle.org/distributions/gradle-1.10-all.zip

IDE 应该检查版本号并提供为您更新所有内容,但该机制尚未完全正常工作。它有时有效,有时无效。

【讨论】:

  • 您的意思是我应该将库的 build.gradle 更改为(从 .7 开始)还是项目的 build.gradle ?最初,项目是 0.8,库是 0.7。如果我使用这些值进行编译,我会收到以下构建错误:您使用的是 Gradle 版本 1.10,项目正在使用的 Android Fradle 插件版本不支持该版本。如果我将项目更改为 .7,它可以工作。为什么我不能为项目保留 .8,为库保留 .7?顺便说一句,我在 0.4.3 上。感谢您的帮助。
  • 哦,你需要全面使用相同版本的插件。我想不出混搭有意义的理由。
  • 好吧,关于 Gradle,我可能还有一些不明白的地方。我得说从 eclipse/ADT 迁移并不是一件容易的事,我觉得 Android Studio 在很多方面都是降级的。至于在一个项目中使用多个版本的gradle,如果一个libray是用旧版本构建的,我可以混合搭配,这不是很正常吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-11
  • 1970-01-01
  • 2013-06-03
  • 1970-01-01
  • 2019-07-21
相关资源
最近更新 更多