最新进展
::发现了,在Ubuntu16.04下,开两个项目的时候就跑步起来,把另一个AS关掉就可以了。。。
虽然执行Build还是不能生成class.jar,但是现在执行app下makeJar可以生成了。。。
- 编辑Gradle生成任务
//这是放在module的build.gradle的最外层
task makeJar(type: Copy) {
delete 'build/libs/wxpaysdk.jar'
from('build/intermediates/bundles/release/')
into('build/libs/')
include('classes.jar')
rename ('classes.jar', 'wxpaysdk.jar')
}
makeJar.dependsOn(build)
- 执行任务
在执行任务时会一直卡在那里;我们的Gradle任务脚本其实是先build整个项目,系统会在build/intermediates/bundles/release/目录下生成class.jar,而我们创建的任务就是要把这个jar包copy到build/libs/目录下并重命名。
通常任务执行不下去是因为Build项目时我们生成的是debug而不是release
解决方法:
- 选中module app
- Build->Select Build Variant->release
- Build
在release目录下有class.jar生成即可。
当选择release mode之后,build/intermediates/bundles/release/ 目录下生成的文件及文件夹有:
AndroidManifest.xmlR.txtaapt/aidl/assets/
但是选择debug mode之后,build/intermediates/bundles/debug目录下生成的文件及文件夹有:
AndroidManifest.xml
R.txt
aaptaidlassetsclasses.jarres
如何在release mode下,也能生成出classes.jar文件?
看看你的build.gradle
buildTypes {
release {
inifyEnabled true proguardFiles getDefaultProguardFile('proguard-rules.pro'), 'proguard-rules.pro'
}
}
这个里面是否指定了
proguardFiles路径,如果指定了 删除就可以了
然而这对我并不起效。。。。
慢慢找吧,先用debug