Android库 - 如何使用gradle组装带依赖关系的jar?

时间:2014-03-30 21:54:49

标签: android ant jar gradle android-library

我正在尝试将 android库项目从 ant 迁移到 gradle ,我完全坚持在最终的jar +中包含项目依赖项从中排除一些其他资源(主要是Android自动生成的类,如BuildConfig等)。

我的ant jar任务看起来像这样:

<jar destfile="${dist}/lib/LIB_NAME.jar"
     basedir="${build.dir}/classes"
     includes="com/**"
     excludes="**/R.class, **/R$*.class, **/Manifest*.class">

     <manifest>
      <attribute name="Main-Class" value="PACKAGE"/>
     </manifest>
</jar>

我想在最终的jar中使用gradle + include子集的依赖来达到类似的效果。我目前的方法基于Jake Wharton solution,它不捆绑依赖项:

android.libraryVariants.all { variant ->
    def name = variant.buildType.name
    if (name.equals(com.android.builder.BuilderConstants.DEBUG)) {
        return; // Skip debug builds.
    }
    def task = project.tasks.create "jar${name.capitalize()}", Jar
    task.dependsOn variant.javaCompile
    task.from variant.javaCompile.destinationDir
    artifacts.add('archives', task);
}

任何简单的解决方案如何修改它以包含依赖项+排除其他内容?或者也许有一些更标准的方法来实现我的目标 - 我希望它更容易实现。

0 个答案:

没有答案