利用Gradle打包含第三方类库的jar包

作者: Jennings_Wu | 来源:发表于2016-08-29 16:46 被阅读7090次

          由于在公司有sdk开发的工作,所以不可避免的就会遇到把自己写的代码打成jar包供客户使用,在这里我主要介绍引用了第三方类库的打包方式。如果想了解更多gradle打jar包的基础知识,请移步这里

    将依赖的第三方库打包进自己的jar包

          在我的项目中,我也使用了许多第三方的类库,比如Gson,glide,retrofit等,如果按照常规的方法

    常规第三方类库导入

           这样子就可以导到项目中了。但是,我们总不能让客户也这样子做,所以我们要把这些类库的jar包拿出来。我的方式是在本地磁盘中找到源码的jar包位置(比较笨的方法,各位有更好的请指正),把jar包拿出来后放进自己项目的libs文件夹里。

    第三方类库的jar包位置

          现在第三方的jar包拿到了,就可以打进我们的jar包里面了。在你的项目的build.gradle脚本添加下面的task,直接上代码:

    打包含了第三方类库的jar包

        之后打开Android Studio自带的命令行工具,进入你项目的根目录,输入gradlew makeMyJar,就可以打包了。打包成功后,你就可以在      app->build->libs里看到test.jar了,这个就是你要提供给客户使用的sdk的jar包。

        这个还是未经过混淆的jar包哦,别人还是很容易反编译得到你的源码的,后续我会说一下混淆jar包。

    相关文章

      网友评论

      • 4b51bb9acb08:作者你好,请问你module的包名是多少?我怎么加不进去自己module的代码
      • 1102yyjj:作者你好,我用你上面的那些方法进行操作,在最新的android studio上面那设置jar名称不行,报这个错误Could not set unknown property 'archiveName' for task '
      • a2f57dda9ee1:我在想 如果 我们可以拿到 External Libraries 中 jar包的路径,不就可以不用这么麻烦的 手动把jar包 移动到 libs 目录下嘛
        热带鱼和威士忌:我这边也是。我引入glide还有其他 有点多 这样太麻烦了
      • c6fbdda457c5:那么问题来了,你把这些依赖打进sdk包了,接入方如果也使用okhttp 版本号又不同怎么办?
        c7eecca11feb:当然最好还是让用户加入你需要依赖的类库,而不是由我们自己类库加进去:innocent:
        Jennings_Wu:@fan_2017 可以试着使用exclude
      • 人生探索者:加混淆的jar包怎么打 ?

      本文标题:利用Gradle打包含第三方类库的jar包

      本文链接:https://www.haomeiwen.com/subject/ouoxettx.html