我发现AAR不能在我的代码中用作jar库。如果您正在使用这样的依赖项
compile 'com.android.support:appcompat-v7:18.0.0'
您需要找到jar文件并将其添加到类路径中。下面的代码可以做到这一点。
tree = fileTree(dir: "${project.buildDir}/exploded-bundles", include: '**/classes.jar')tree.each { jarFile -> iajcClasspath += ":" + jarFile}因此,整个部分将是:
variant.javaCompile.doLast { // Find the android.jar and add to iajc classpath def androidSdk = android.adbExe.parent + "/../platforms/" + android.compileSdkVersion + "/android.jar" println 'Android SDK android.jar path: ' + androidSdk def iajcClasspath = androidSdk + ":" + configurations.compile.asPath configurations.compile.dependencies.each { dep -> if(dep.hasProperty("dependencyProject")) { iajcClasspath += ":" + dep.dependencyProject.buildDir + "/bundles/release/classes.jar" } } // handle aar dependencies pulled in by gradle (Android support library and etc) tree = fileTree(dir: "${project.buildDir}/exploded-bundles", include: '**/classes.jar') tree.each { jarFile -> iajcClasspath += ":" + jarFile } println 'Classpath for iajc: ' + iajcClasspath ant.taskdef( resource:"org/aspectj/tools/ant/taskdefs/aspectjTaskdefs.properties", classpath: configurations.ajc.asPath)有关完整的示例,请在此处查看AnyMemo项目的build.gradle:https://pre.google.com/p/anymemo/source/browse/build.gradle?
spec = svnf85aaa4b2d78c62876d0e1f6c3e28252bf03f820&r =
f85aaa4b2d78c62876d0e1f6



