记录android studio打包JAR并且添加第三方jar包。

示例:servicesdk是module需要打包成jar包项目。

libs中是三方包,我们需要将这些包添加到jar中。

接下来这里是关键代码,在我们项目中打开

这里就是我们打包JAR时将三方包添加,需要注意的是在,androidStudio3.0前“build/intermediates/bundles/release/libs/miit_mdid_1.0.10.aar”,3.0以后的一些版本为“build/intermediates/packaged-classes/release/libs/miit_mdid_1.0.10.aar'”,所有当项目中没有“bundles”或者packaged-classes时可以更换过来即可。

最后使用命令  gradlew makeJar 执行

结果:

然后使用压缩软件或者其它可以打开jar查看:

都已添加到jar包中。

以下是build.gradle全部

apply plugin: 'com.android.library'
android {compileSdkVersion 27buildToolsVersion '28.0.3'defaultConfig {minSdkVersion 19targetSdkVersion 27versionCode 1versionName "1.0"testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"dexOptions {preDexLibraries = false}ndk {abiFilters 'armeabi-v7a', 'x86'}}buildTypes {debug {minifyEnabled falseproguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'}release {minifyEnabled falseproguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'}}repositories {flatDir {dirs 'libs'}}
}dependencies {implementation fileTree(include: ['*.jar'], dir: 'libs')testImplementation 'junit:junit:4.12'androidTestImplementation 'com.android.support.test:runner:1.0.2'androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'implementation files('libs/classes.jar')implementation files('libs/glide-3.7.0.jar')implementation files('libs/android-support-multidex.jar')androidTestImplementation 'androidx.test:runner:1.2.0'androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'//移动安全联盟MSA sdk依赖implementation files('libs/miit_mdid_1.0.10.aar')implementation 'com.android.support:appcompat-v7:27.0.0'//rxJava3.x (如果你集成的其他开源框架已经引用rxJava2.x或rxJava3.x,则不需要再次引用)implementation 'io.reactivex.rxjava3:rxjava:3.0.0-RC3'//需要依赖的第三方lib}
android {useLibrary 'org.apache.http.legacy'}
//task to delete the old jar
task deleteOldJar(type: Delete) {delete 'release/AndroidPlugin.jar'
}task makeJar(type:Jar){delete 'build/libs/librarysdk.jar'//删除之前的包archivesBaseName = "librarysdk"//打包后的jar名from(project.zipTree('build/intermediates/bundles/release/classes.jar'))//添加classesfrom(project.zipTree('build/intermediates/bundles/release/libs/okhttp-3.2.0.jar'))//添加三包from(project.zipTree('build/intermediates/bundles/release/libs/okio-1.6.0.jar'))from(project.zipTree('build/intermediates/bundles/release/libs/android-support-multidex.jar'))from(project.zipTree('build/intermediates/bundles/release/libs/glide-3.7.0.jar'))from(project.zipTree('build/intermediates/bundles/release/libs/gson-2.8.0.jar'))from(project.zipTree('build/intermediates/bundles/release/libs/miit_mdid_1.0.10.aar'))destinationDir = file('build/libs')
}
makeJar.dependsOn(build)// 源代码一起打包
task androidSourcesJar(type: Jar) {classifier = 'sources'from android.sourceSets.main.java.sourceFiles
}artifacts {archives androidSourcesJar
}

-END

android studio打jar包并添加三方包相关推荐

  1. linux下tools.jar,Linux android studio :'tools.jar' seems to be not in Android Studio classpath.

    问题: 'tools.jar' seems to be not in Android Studio classpath. Please ensure JAVA_HOME points to JDK r ...

  2. Android Studio 一个工程打包多个不同包

    Android Studio 一个工程打包多个不同包 转: https://blog.csdn.net/kdsde/article/details/88639194 AS主要是利用gradle来实现这 ...

  3. Android Studio官方文档之添加URL和App索引支持

    Android Studio官方文档之添加URL和App索引支持 本文由nyk翻译,jkYishon审校. Android Studio可以帮你在App中添加对URLs,app索引,搜索功能的支持.这 ...

  4. Android Studio导出Jar包并混淆

    在Android Studio中,自带反编译查看class文件,如果没有混淆的话,class文件跟java文件基本没有区别了,为了保护,还是混淆的好. 网上看了不少资料,都是直接下载proguard额 ...

  5. android studio查看jar包源码,Android Studio查看源代码报错

    我们经常用Android Studio 查看Android的源代码,今天我们就来学习查看源代码的正确姿势. Android Studio查看源代码 我们用Android Studio查看源代码会遇到下 ...

  6. android studio 查看jar包依赖关系 依赖树

    windos 版  studio里命令行(Terminal)输入     gradlew -q app:dependencies macos 版 输入       ./gradlew -q app:d ...

  7. android studio 混淆jar,android studio如何生成混淆代码的jar

    释放双眼,带上耳机,听听看~! 今天,简单讲讲android里如何在生成jar包时,同时对jar包的代码进行混淆,避免别人看到核心代码. 之前,我对领导说我打包生成的SDK,别人使用android s ...

  8. Android Studio(8)---为新设备添加模块

    为新设备添加模块 模块为应用程序的源代码,资源文件和应用程序级别设置提供容器,例如模块级构建文件和Android清单文件.每个模块都可以独立构建,测试和调试. Android Studio使用模块可以 ...

  9. Android源码编译Android Studio(带jar和jni)工程

    1.把android studio工程删除到如下目录, 注意:如果在此目录下,有libs和jni目录 # cp -rf jni app/src/main # cp -rf libs app/src/m ...

最新文章

  1. UML学习(一)-----用例图
  2. 收到灾区小朋友的电话祝福
  3. 解决:vue项目的页面刷新之 title被重置问题
  4. 字符串匹配之KMP算法
  5. 韩国两名男子因偷拍汽车旅馆视频被捕 1600名房客受害
  6. web前端基础(08html5新标签)
  7. 机器视觉——计算视野的小工具
  8. python全免费教程-python教程免费
  9. linux与unix的区别_Linux与Unix
  10. 852 -山脉阵列中的峰值指数
  11. [转]Hspice和Spice Explorer许可文件设置时环境变量FLEXLM_BATCH = 1的一些现象
  12. android+数据库类型转换,ANDROID数据库错误:不兼容的类型:INT不能转换到CursorFactory...
  13. 【万字详解】cJSON解析
  14. 计算机组成原理em实验三,实验三计算机组成原理.doc
  15. 程序网络访问出错:lacked sufficient buffer space
  16. 分享职场心得《14》
  17. 私营企业和民营企业有哪些区别
  18. 六步顺利开启你半路出家的开发者之路
  19. AI入门到进阶到放弃
  20. 二级c语言计算机等级考试(全国与江苏版),2010年江苏省计算机等级考试二级C语言考试大纲...

热门文章

  1. [SVA]SystemVerilog Assertion常用操作符总结及案例
  2. 移动机器人技术(9)-- 全向移动机器人Modeling and Control
  3. 生存资料决策曲线分析DCA
  4. WebSphere 8.5.5 静默安装及升级补丁
  5. 腾讯微服务框架-MSEC-源码简析(一)
  6. 产品经理懂点技术:几种常用的系统开发方法
  7. 鸿蒙开放机型,鸿蒙今天对友商打响了第一炮!华为多款机型开启鸿蒙尝鲜
  8. Rust: Keywords
  9. 数字图像处理与MATLAB 第四章学习笔记
  10. centos8安装及配置nfs4