【问题标题】:Importing gradle library into Eclipse将 gradle 库导入 Eclipse
【发布时间】:2015-08-15 15:17:18
【问题描述】:

Eclipse 是我构建 Android 应用程序的地方,目前我无法切换到 Android Studio。

我需要在操作栏上添加小循环倒计时。我正在尝试使用 github 上提供的 CircleProgress 库,但问题是它使用 gradle,我不知道 Gradle 是什么。我在这里尝试了几个步骤,例如制作 java 文件夹源或创建新库,但它们都不起作用。

link for library

错误显示为解析 XML 时出错:未绑定前缀

我的布局文件来源:-

        <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:weightSum="10" >

    <LinearLayout
        android:id="@+id/llcount"
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_weight="0.5"
        android:background="@color/Black"
        android:baselineAligned="false"
        android:orientation="horizontal" >

        <ImageView
            android:id="@+id/imgQuit"
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="wrap_content"
            android:padding="2dp"
            android:src="@drawable/quit_icon" />

        <com.youth4work.prepapp.CustomTextViewFont
            android:id="@+id/txtquesno"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="6"
            android:gravity="center"
            android:text="Daily Test - Q1/Q20"
            android:textColor="@color/White"
            android:textSize="@dimen/text_size" />

        <com.youth4work.prepapp.CustomTextViewFont
            android:id="@+id/txttimer"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:textColor="@color/White"
            android:textSize="@dimen/text_size" />

        <ProgressBar
            android:id="@+id/barTimer"
            style="?android:attr/progressBarStyleHorizontal"
            android:layout_width="0dp"
            android:layout_weight="2"
            android:layout_height="fill_parent"
            android:progressDrawable="@drawable/circular_progress_bar" />

        <com.github.lzyzsd.circleprogress.DonutProgress //Error over here
        android:layout_marginLeft="50dp"
        android:id="@+id/donut_progress"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        custom:donut_progress="30"/>
    </LinearLayout>
      <!--  Further Code and then closed Main LinearLayout -->

帮我解决这个问题。
另外,如果有人可以为我提供关于什么是 gradle 以及为什么我们必须使用它的良好参考,这将很有帮助,以便我下次可以做好准备。

编辑

这是我的 builds.gradle

apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'com.android.library'
apply plugin: 'com.github.dcendents.android-maven'
apply plugin: 'com.jfrog.bintray'
dependencies {
    compile 'com.github.lzyzsd:circleprogress:1.1.0@aar'
}
version = "1.2.0"

android {
    compileSdkVersion 21
    buildToolsVersion "21.1.2"

    defaultConfig {
        minSdkVersion 10
        targetSdkVersion 21
        versionCode 5
        versionName version
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

def siteUrl = 'https://github.com/lzyzsd/CircleProgress'
def gitUrl = 'https://github.com/lzyzsd/CircleProgress.git'
group = "com.github.lzyzsd.circleprogress"
install {
    repositories.mavenInstaller {
        // This generates POM.xml with proper parameters
        pom {
            project {
                packaging 'aar'
                // Add your description here
                name 'Circle Progress, Donut Progress, Arc Progress'
                url siteUrl
                // Set your license
                licenses {
                    license {
                        name 'MIT'
                        url 'http://opensource.org/licenses/MIT'
                    }
                }
                developers {
                    developer {
                        id 'lzyzsd'
                        name 'Bruce Lee'
                        email 'bruceinpeking@gmail.com'
                    }
                }
                scm {
                    connection gitUrl
                    developerConnection gitUrl
                    url siteUrl
                }
            }
        }
    }
}
task sourcesJar(type: Jar) {
    from android.sourceSets.main.java.srcDirs
    classifier = 'sources'
}
task javadoc(type: Javadoc) {
    source = android.sourceSets.main.java.srcDirs
    classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
}
task javadocJar(type: Jar, dependsOn: javadoc) {
    classifier = 'javadoc'
    from javadoc.destinationDir
}
artifacts {
    archives javadocJar
    archives sourcesJar
}
Properties properties = new Properties()
properties.load(project.rootProject.file('local.properties').newDataInputStream())
bintray {
    user = properties.getProperty("bintray.user")
    key = properties.getProperty("bintray.apikey")
    configurations = ['archives']
    pkg {
        repo = "maven"
        name = "CircleProgress"
        websiteUrl = siteUrl
        vcsUrl = gitUrl
        licenses = ["MIT"]
        publish = true
    }
}

【问题讨论】:

  • 像其他人一样使用 Android Studio。
  • @JaredBurrows 我首先提到了一些事情。如果您知道提供它的答案,请不要浪费您和我的时间。

标签: java android eclipse gradle android-library


【解决方案1】:

正如on the GitHub site 所说,您可以在build.gradle 脚本中使用以下代码将库添加到您的项目中:

dependencies {
    compile 'com.github.lzyzsd:circleprogress:1.1.0@aar'
}

要让这些可用于 eclipse,请运行以下 gradle 任务:cleanEclipse eclipse

您可以通过 gradle 包装器在命令行上执行此操作,或者如果您正确设置了它,也可以在您的 eclipse 环境中执行此操作(我个人不使用 eclipse 的 gradle 集成,我使用包装器并在命令行上运行 gradle )

这将重新生成您的 Eclipse 类路径并包含 circleprogress 库。如果你在 Eclipse 中刷新你的项目,你应该会在依赖列表中看到它们。

您的项目必须在 build.gradle 脚本的顶部包含以下内容:

apply plugin: 'eclipse'

编辑:关于 gradle wrapper 的附加信息。

请参阅official documentation for gradle wrapper。

如果您在项目目录中有“gradlew”或“gradlew.bat”文件,您可以在命令行 (cmd) 上运行它。对于windows,这只是普通的cmd。对于 linux,任何普通的 shell。

cd 进入你的项目目录并输入

gradlew.bat cleanEclipse eclipse

或者在linux中

./gradlew cleanEclipse eclipse

您的 eclipse 项目可能已经支持 gradle,在这种情况下,您必须按照它的方法运行 gradle 任务。

【讨论】:

  • 在顶部或最后添加这些依赖项的位置?
  • 我在顶部应用了插件,然后是这个依赖项,但它的显示构建失败
  • 将您的构建脚本添加到您的问题中。我怀疑您在依赖项部分上方的顶部没有apply plugin: 'java'。除非您告诉 Gradle 要加载哪些插件,否则 Gradle 不会做任何事情。您至少需要加载 java 和 eclipse 才能进行任何编译并让它生成一个 Eclipse 项目。
  • 感谢您提供的信息。我正在尝试并获得新的编译错误,其中一个就是这样。现在正在工作,但一些新错误无法添加任务':库:javadoc'作为同名任务已经存在。谢谢你的帮助。我现在已经理解并且一定会使其工作。再次感谢。一旦我整理出来,我会把它作为答案。
  • 嘿,我已经用构建脚本更新了我的代码。请帮我解决错误无法添加任务':库:javadoc'作为同名任务存在
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-24
  • 1970-01-01
  • 1970-01-01
  • 2012-05-30
相关资源
最近更新 更多