我有两个纯java项目(:java:libs:proj1,:java:libs:proj2),它们在构建时产生两个classes.jars。两个罐子“组合”包括我想要转换成dex jar的确切类,即包含classes.dex的JAR文件。
有人可以帮助我将两个纯Java项目转换为包含classes.dex的单个JAR吗?
这是我尝试过的。
1)创建一个单独的Android库项目(apply plugin:'android-library')并将两个java项目包含为依赖项。
apply plugin: 'android-library'
dependencies {
compile project(':java:libs:proj1')
compile project(':java:libs:proj2')
}
但是,使用这种方法,它不会生成dex文件。相反,它会生成一个“.aar”文件,其中只包含两个项目的.class文件。如果我可以将这个.aar文件转换为它的dex,那么这将是完美的,但显然“android-library”插件没有“dex”任务。
2)创建一个Android项目(apply plugin:'android')并将这两个项目包含为depenendencies。 (与上面类似但使用'android'而不是'android-library')。
apply plugin: 'android'
dependencies {
compile project(':java:libs:proj1')
compile project(':java:libs:proj2')
}
这种方法确实创建了我需要的dex文件,但它也包含了我的两个纯java项目的所有依赖项。例如,我的java项目依赖于JUnit,BouncyCastle和其他一些外部JAva项目。在classes.dex中,我看到它包含了所有内容。有没有办法告诉“dex”任务不要“传递”包含依赖项?
我只想将与我的两个java项目直接关联的类转换为dex。我希望有一个简单的方法:(
谢谢, Ĵ