从eclipse消费aars不起作用

时间:2015-02-28 09:57:46

标签: java android eclipse adt aar

*这一部分是我的原始启动问题。请仔细阅读更新
我在eclipse中导入了一个显然取决于rengwuxian的android项目 由于我找不到jar并且不知道怎么做,我按照consuming-aars-eclipse中的说明进行了第二个项目,并将来自aar的工件作为android eclipse项目导入。

然后在我的原始项目中,我在布局文件中遇到了com.rengwuxian.materialedittext.MaterialEditText的编译错误,我将这个新创建的aar项目作为参考添加(Project-> Properties-> Build Path-> Add项目)

编译错误得到解决! 在我的布局文件中现在到处都定义了元素com.rengwuxian.materialedittext.MaterialEditText我在资源定义中出现错误。

例如以下内容:

  

错误:找不到属性' baseColor'的资源标识符在   包' com.test

似乎抱怨的是:

<com.rengwuxian.materialedittext.MaterialEditText
            android:id="@+id/client"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            .....
            android:textColor="@color/text_color"
            app:baseColor="@color/text_color"
            app:primaryColor="@color/text_color" />

---&GT;应用程式:baseColor =&#34; @颜色/ text_color&#34;

这个@color/text_color在原始应用程序包中的原始应用程序中定义,显然aar导入项目中的类(com.rengwuxian.materialedittext.MaterialEditText)无法查看/访问这些资源。

我该如何解决这个问题?或者还有另一种更好的解决方法吗?

注意:我还尝试将源链接添加到项目的res /文件夹的文件夹中,但没有解决此问题。

更新
我删除了对项目的引用,并将classes.jar添加到构建路径(此jar在aar项目中)。同样的问题

更新2:
我发现这有助于将aars导入eclipse aar-for-eclipse。我复制/粘贴了文件夹中的代码片段(任务copyJarDependencies等),但我得到了一个例外:

  

没有这样的属性:类的libDir:org.gradle.api.tasks.Copy_Decorated

所以我在`libDir = new File(project.projectDir,&#39; / libs&#39;)中添加了一个def。 然后这工作但我得到了:

  

无法找到属性&#39;编译&#39;在配置容器上

如何解决这个问题?我不知道要宣布什么或缺少什么

更新3:
我添加了apply plugin: 'java',现在编译属性正常,但我得到了:

  

configurations.releaseCompile.filter {it.name.endsWith&#39; jar&#39;}。每个{文件文件 - &gt; moveJarIntoLibs(file)}

我该如何解决这个问题呢? 我正在使用这个项目---&gt; https://github.com/rengwuxian/MaterialEditText
这篇文章---&gt; http://www.nodeclipse.org/projects/gradle/android/aar-for-Eclipse

1 个答案:

答案 0 :(得分:0)

我在gradle上遇到了类似的问题,但是在android studio上。我的解决方案是使用

configurations.releaseCompile.filter {it.name.endsWith 'jar'}.each {moveJarIntoLibs(it)}

而不是:

configurations.releaseCompile.filter {it.name.endsWith 'jar'}.each { File file -> moveJarIntoLibs(file)}

请记住不要在同一个项目中应用java和android插件,因为它不会起作用(请参阅gradle with --debug --stacktrace)