怎么将Android Studio项目打包成jar 您所在的位置:网站首页 jar包怎么用 怎么将Android Studio项目打包成jar

怎么将Android Studio项目打包成jar

#怎么将Android Studio项目打包成jar| 来源: 网络整理| 查看: 265

Android Studio 如何打JAR包

在eclipse中我们知道如何将一个项目导出为jar包,供其它项目使用。 在AS中可以通过修改gradle才处理。

我们新建一个项目MakeJar,在项目中新建一个modle-类型为android-library

如图:app为我们的主工程,librarydemo是我们要将其生成jar包的model. 在library demo中的build.gradle中与android结构同级加入如下代码:

项目结构

步骤1-依赖

主工程App的build中要加入librarydemo 这个依赖model:

dependencies{compilefileTree(dir:'libs',include:['*.jar'])compile'com.android.support:appcompat-v7:22.2.0'compileproject(':librarydemo')}

步骤2- 载library种编写task

当你编译完工程后其实library的所有java文件已经生成了包含class 的classes.jar包,如下图所示:

这个为了方便给出一个task 将改classes.jar 导出到library的build/libs/下,并修改名字为mysdk.jar ( 名字随意)。

//Copy类型taskmakeJar(type:Copy){//删除存在的delete'build/libs/mysdk.jar'//设置拷贝的文件from('build/intermediates/bundles/release/')//打进jar包后的文件目录into('build/libs/')//将classes.jar放入build/libs/目录下//include,exclude参数来设置过滤//(我们只关心classes.jar这个文件)include('classes.jar')//重命名rename('classes.jar','mysdk.jar')}makeJar.dependsOn(build)//在终端执行生成JAR包//gradlewmakeJar

在android studio 提供的Terminal中(目录默认伟当前工程的)键入 ./gradlew makeJar 回车看到如下所示就OK了:

生成的jar包在你的library那个的build下的libs下,然后就可以使用了。

声明:打出来的jar只有源代码的.class 文件,不包含资源文件

看到那么多人踩的,那么多人遇到问题,在这里说明下并解决 不得了

常见问题

有人问:

怎么把资源(图片,布局,string等)打进jar包呢?

答案是: 既然不包含那我们就把jar包中用到的资源放到你使用该jar的工程里面,然后通过反射即可。 这里给出反射类:

publicclassMResource{publicstaticintgetIdByName(Contextcontext,StringclassName,StringresName){StringpackageName=context.getPackageName();intid=0;try{Classr=Class.forName(packageName+".R");Class[]classes=r.getClasses();ClassdesireClass=null;for(Classcls:classes){if(cls.getName().split("\\$")[1].equals(className)){desireClass=cls;break;}}if(desireClass!=null){id=desireClass.getField(resName).getInt(desireClass);}}catch(Exceptione){e.printStackTrace();}returnid;}}


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有