Android studio生成jar包

2024-09-07 16:48
文章标签 android 生成 studio jar

本文主要是介绍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包的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1145600

相关文章

AI一键生成 PPT

AI一键生成 PPT 操作步骤 作为一名打工人,是不是经常需要制作各种PPT来分享我的生活和想法。但是,你们知道,有时候灵感来了,时间却不够用了!😩直到我发现了Kimi AI——一个能够自动生成PPT的神奇助手!🌟 什么是Kimi? 一款月之暗面科技有限公司开发的AI办公工具,帮助用户快速生成高质量的演示文稿。 无论你是职场人士、学生还是教师,Kimi都能够为你的办公文

Android实现任意版本设置默认的锁屏壁纸和桌面壁纸(两张壁纸可不一致)

客户有些需求需要设置默认壁纸和锁屏壁纸  在默认情况下 这两个壁纸是相同的  如果需要默认的锁屏壁纸和桌面壁纸不一样 需要额外修改 Android13实现 替换默认桌面壁纸: 将图片文件替换frameworks/base/core/res/res/drawable-nodpi/default_wallpaper.*  (注意不能是bmp格式) 替换默认锁屏壁纸: 将图片资源放入vendo

pdfmake生成pdf的使用

实际项目中有时会有根据填写的表单数据或者其他格式的数据,将数据自动填充到pdf文件中根据固定模板生成pdf文件的需求 文章目录 利用pdfmake生成pdf文件1.下载安装pdfmake第三方包2.封装生成pdf文件的共用配置3.生成pdf文件的文件模板内容4.调用方法生成pdf 利用pdfmake生成pdf文件 1.下载安装pdfmake第三方包 npm i pdfma

Android平台播放RTSP流的几种方案探究(VLC VS ExoPlayer VS SmartPlayer)

技术背景 好多开发者需要遴选Android平台RTSP直播播放器的时候,不知道如何选的好,本文针对常用的方案,做个大概的说明: 1. 使用VLC for Android VLC Media Player(VLC多媒体播放器),最初命名为VideoLAN客户端,是VideoLAN品牌产品,是VideoLAN计划的多媒体播放器。它支持众多音频与视频解码器及文件格式,并支持DVD影音光盘,VCD影

poj 1258 Agri-Net(最小生成树模板代码)

感觉用这题来当模板更适合。 题意就是给你邻接矩阵求最小生成树啦。~ prim代码:效率很高。172k...0ms。 #include<stdio.h>#include<algorithm>using namespace std;const int MaxN = 101;const int INF = 0x3f3f3f3f;int g[MaxN][MaxN];int n

poj 1287 Networking(prim or kruscal最小生成树)

题意给你点与点间距离,求最小生成树。 注意点是,两点之间可能有不同的路,输入的时候选择最小的,和之前有道最短路WA的题目类似。 prim代码: #include<stdio.h>const int MaxN = 51;const int INF = 0x3f3f3f3f;int g[MaxN][MaxN];int P;int prim(){bool vis[MaxN];

poj 2349 Arctic Network uva 10369(prim or kruscal最小生成树)

题目很麻烦,因为不熟悉最小生成树的算法调试了好久。 感觉网上的题目解释都没说得很清楚,不适合新手。自己写一个。 题意:给你点的坐标,然后两点间可以有两种方式来通信:第一种是卫星通信,第二种是无线电通信。 卫星通信:任何两个有卫星频道的点间都可以直接建立连接,与点间的距离无关; 无线电通信:两个点之间的距离不能超过D,无线电收发器的功率越大,D越大,越昂贵。 计算无线电收发器D

hdu 1102 uva 10397(最小生成树prim)

hdu 1102: 题意: 给一个邻接矩阵,给一些村庄间已经修的路,问最小生成树。 解析: 把已经修的路的权值改为0,套个prim()。 注意prim 最外层循坏为n-1。 代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <cstri

【生成模型系列(初级)】嵌入(Embedding)方程——自然语言处理的数学灵魂【通俗理解】

【通俗理解】嵌入(Embedding)方程——自然语言处理的数学灵魂 关键词提炼 #嵌入方程 #自然语言处理 #词向量 #机器学习 #神经网络 #向量空间模型 #Siri #Google翻译 #AlexNet 第一节:嵌入方程的类比与核心概念【尽可能通俗】 嵌入方程可以被看作是自然语言处理中的“翻译机”,它将文本中的单词或短语转换成计算机能够理解的数学形式,即向量。 正如翻译机将一种语言

如何在Visual Studio中调试.NET源码

今天偶然在看别人代码时,发现在他的代码里使用了Any判断List<T>是否为空。 我一般的做法是先判断是否为null,再判断Count。 看了一下Count的源码如下: 1 [__DynamicallyInvokable]2 public int Count3 {4 [__DynamicallyInvokable]5 get