本文主要是介绍Android studio生成jar包,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.将app依赖一个moudle。
2.运行app。这是在build/intermediates/bundles/debug or release/目录下回看到一个classer.jar (这个就是生成的jar)
3.在moudle 的build.gradle中添加如下代码,下面这些代码是将原本的classer.jar转成自定义的jar
apply plugin: 'com.android.library'android {compileSdkVersion 27defaultConfig {minSdkVersion 15targetSdkVersion 27versionCode 1versionName "1.0"testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"}buildTypes {release {postprocessing {removeUnusedCode false //是否删除未使用的代码removeUnusedResources false //是否清除未使用的资源obfuscate false //是否混淆optimizeCode false //是否优化proguardFile 'proguard-rules.pro'}}}lintOptions{abortOnError false}
}dependencies {implementation fileTree(include: ['*.jar'], dir: 'libs')
// implementation 'com.android.support:appcompat-v7:27.1.1'api files('libs/netty-all-4.1.26.Final.jar')implementation project(':utillibrary')
}
//-------------------------------------------打jar包--------------------------------------------////自定义打jar包,可以将第三方jar包打入要生成的jar包,同时打了aar,修改了jar、aar的名字
//重写gradle的Jar闭包
task makeJar(type: Jar ) {def name = project.namedef fileName = name+"-${android.defaultConfig.versionName}-${rootProject.releaseTime()}"archivesBaseName = fileName//编译完工程后module中的Java文件已经生成了包含class 的classes.jar包from(project.zipTree('build/intermediates/packaged-classes/release/classes.jar'))//将第三方jar包打包到将要打包的jar包中from(project.zipTree("libs/netty-all-4.1.26.Final.jar"))
// from fileTree(dir: 'src/main',includes: ['assets/**'])//将assets目录打入jar包destinationDir = file('build/libs')
}
makeJar.dependsOn(build)//-------------------------------------------修改aar包名--------------------------------------------//
task modefyAarName(type: Copy) {def name = project.namedef fileName = name+"-${android.defaultConfig.versionName}-${rootProject.releaseTime()}.aar"from("build/outputs/aar/"+name+"-release.aar")into("build/libs")rename(name+"-release.aar", fileName)}
//modefyAarName.dependsOn( build)
//-------------------------------------------修改jar包名--------------------------------------------//
task modefyJarName(type: Copy) {def name = project.namedef fileName = name+"-${android.defaultConfig.versionName}-${releaseTime()}.aar"from("build/intermediates/packaged-classes/release/classes.jar")//gradle4.6以后的路径from('build/intermediates/bundles/release/classes.jar') //gradle4.6以前的路径into("build/libs")rename(name+"-release.aar", fileName)}
//modefyJarName.dependsOn( build)
4.重新sync now一下。
5.点击android studio右边的gradle,然后找到自己的module名字点击进去,然后点击Tasks后找到other点击计入,找到makeJAr 双击,
6.jar包生成后你会在build/libs/目录下找到。例如Sdk-1.0-v1.1-2018.07.18.jar
这篇关于Android studio生成jar包的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!