Android Studio利用Gradle导出包含assets文件夹的jar包

最近公司做一个项目,要求打出一个包含assets文件夹的jar包供其它开发者使用,在eclipse上能够很简单的打出来,但是在android studio上就抓瞎了,于是在研究了一个下午之后成功在android studio上打出了包含assets的jar包,话不多说,直接上方法:


1.首先在你的android studio上添加一个Module,具体方法是选中你的项目,右键--->new---->Module;


然后选择Android Library--->next--->finish:


等工具运行完成之后,打开新建的Module下的build.gradle可以看到最上面有这样一行代码:


apply plugin: 'com.android.library'

OK,接下来你就可以在Moudle下的src-->main文件夹下创建你的assets文件夹了,
 

将你的jar包所需要的图片资源等放进去,就可以开始准备打jar包了。
 
首先在你的Module下的build.gradle中添加如下代码:
//打jar包
def SDK_BASENAME = "sdk";
def SDK_VERSION = "_V1.0";
def sdkDestinationPath = "build";
def zipFile = file('build/intermediates/bundles/release/classes.jar')
task deleteBuild(type: Delete) {
    delete sdkDestinationPath + SDK_BASENAME + SDK_VERSION + ".jar"
}
task makeJar(type: Jar) {
    from zipTree(zipFile)
    from fileTree(dir: 'src/main', includes: ['assets/**'])
    baseName = SDK_BASENAME + SDK_VERSION
    destinationDir = file(sdkDestinationPath)
}
makeJar.dependsOn(deleteBuild, build)
这段代码是在网上找到的,具体是哪个作者的当时没有注意,引用您的代码给您造成的不便请见谅。
这段代码的具体意思就不再这里给大家讲述了,有兴趣的同学网上可以查阅,有详细的讲解。我们都知道,如果我们不需要把assets打进jar包的话,只需要rebuild一下工程就可以在Module下的Build/intermediates/bundles/release下找到一个名为classes.jar的jar包,直接拖出去就可以使用了。
 
 
接下来我们需要在Gradle projects中找到对应的Module下的tasks中的Other,如图:



在这里面找到你在build.gradle中定义的task:


双击 执行。接下来你就可以在Module下的Build文件夹下面找的你所需要的Jar包了。



打开之后我们可以看到assets已经包含进去了:


到此就完成了。。。等等,什么?gradle报错?



刚开始搞了半天不知道这个错误是什么,后来在国外的网站上面找到了解决方法,原因就是gradle构建工程的时候会进行拼写检查,如果有错误拼写,构建进程就会结束。知道原因就好办了在Module下的Build.gradle中的android{}中添加如下代码:

lintOptions {
    abortOnError false
}
怕有的小伙伴不解其意,故贴上整个代码:

android {
    compileSdkVersion 22
    buildToolsVersion "22.0.1"

    defaultConfig {
        minSdkVersion 10
        targetSdkVersion 22
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    lintOptions {
        abortOnError false
    }

}


好了,再执行一次makeJar吧。搞定收工。。。


注意:在build.gradle中修改代码之后都要同步一下代码哦!!!点android studio上面给的浅黄色提示Sync Now就OK了。


第一次写博客,不喜误喷,只是想把自己的一点心得分享给大家。如有错误可留言或者私信,欢迎交流。

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值