我需要创建Jar并复制到lib文件夹,这是在以下任务中完成的:
task copyJarToLib(type: Copy, dependsOn: 'createJar') {
from "build/libs/lib1.jar"
from "build/libs/lib2.jar"
into "../App/libs/"
}
我必须在apk生成后执行此操作。因此,我在module-app build.gradle的末尾调用以下指令:
assembleDebug.finalizedBy(copyJarToLib)
将gradle插件升级到3.1.0,并将gradle升级到4.4后,观察到问题。 Gradle 2.3可以很好地实现相同的实现。
答案 0 :(得分:0)
在Volley源代码中找到的 ant 是一种简便的方法。将以下代码添加到 custom_rules.xml ,然后使用ant jar
<?xml version="1.0" encoding="UTF-8"?>
<project name="volley-rules" default="help">
<!-- A rule to generate the JAR for inclusion in an Android
application. Output file will be bin/volley.jar -->
<target name="jar" depends="-compile">
<jar destfile="bin/volley.jar"
basedir="bin/classes" />
</target>
</project>
如果这不能解决您的问题,您也可以检查此链接-> Create an Android Jar library for distribution
答案 1 :(得分:0)
如果要在构建结束时执行某些操作,可以按以下步骤进行操作:
gradle.buildFinished {
copy {
from "build/libs/lib1.jar"
from "build/libs/lib2.jar"
into "../App/libs/"
}
}
如果要在构建apk之前执行任务,则可以:
afterEvaluate {
project.tasks.findByName('preDebugBuild').dependsOn(':<module>:copyJarToLib')
}