Android studio中gradle配置打jar包和生成Javadoc文档

序言

在开始本文之前先谈谈自己开始写博客的感触, 之前一直感觉写博客很麻烦, 浪费时间, 所以在工作中遇到一些问题时, 就随手写在了为知笔记里, 方便自己后续查阅, 既然是自己看, 所以写的就比较粗略. 在网上查找资料时, 大家就会发现有时想要查一个问题时, 可能需要看很多的博客, 花费很长时间才能解决, 所以就想要把自己遇到的一些问题分享出来, 供有需要的朋友参考, 也方便给自己做一个记录. 由于是刚开始写, 所以在表达上可能会不太好, 请各位大牛嘴下留情, 当然也希望各位有好的建议的话多多留言, 好了, 废话不多说, 开始今天的主题了.

在Android studio中打jar包.

之前公司中的一些项目很多都是在Eclipse中维护的, 当给一个库打jar包时, 使用编写好的ant脚本一键生成, 但是最近想要把这些项目迁移到AS中, 就面临这使用gradle脚本来编译jar包, 网上有很多种说法, 我这里就说下我亲身实践的一种方法:

1. 在你想要生成jar包的module的build.gradle文件中添加如下配置:

//每次生成jar包时将之前的jar包删除
task clearJar(type: Delete) {
    //xxx.jar表示你想要生成的jar包的名字
    delete 'build/libs/xxx.jar'
}

//指定生成jar包的来源和存放位置以及名称, 这里写的是default目录(是因为我这个module中的bundles文件夹下没有release文件夹) , 若有release文件夹则改为release文件夹.
task makeJar(type: Copy) {
    from('build/intermediates/bundles/default/')
    into('build/libs/')
    include('classes.jar')
    rename ('classes.jar', 'xxx.jar')
}

//生成jar包
makeJar.dependsOn(clearJar, build)

若想要对这个jar包进行混淆, 则将下面的minifyEnabled设置为true(注意要先将混淆文件配置好)

buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }

2. 执行makeJar程序

配置好上面的gradle选项之后, 点击as右侧的gradle栏, 会弹出来此项目所有module的gradle任务, 然后点击你想要生成jar包的module, 展开之后点击other, 在这里你会找到makeJar的任务, 然后双击, 就会执行编译了, 等待编译成功就ok了.
这里写图片描述

3. 注意事项

如打包时不想将引入的第三方jar包打进jar包中, 则可以使用如下方式:
这里参考如下博客, 非常感谢 !
http://blog.csdn.net/wangjia55/article/details/31750419
1. 在Android studio下打开project structure, 选中这个module, 选择”Dependencies”栏目, 就可以看到项目中所有依赖项.
2. 在不想打入的jar包后面有一个Scope的选项, 将默认的”Compile”选择为:”provided”即可.
3. 这时候你会发现项目中的build.gradle文件中相应的依赖也会变成provided
这里写图片描述

我经常使用的一种方式是, 将这个项目中依赖的第三方库(包括直接使用的jar包)都放置在一个单独的Library module中, 然后让项目module依赖这个module, 这样就方便管理.

Android studio 中生成Javadoc

之前一直想着类似于生成jar包一样在gradle中配置生成Javadoc, 就查找资料, 按照如下配置方式配置, 结果就一直报如下错(有哪位大神指导原因的, 欢迎在下方留言告知, 多谢), 这种方法也就夭折了.

Error:Failed to capture snapshot of input files for task 'javadoc' property 'classpath' during up-to-date check.
> Could not normalize path for file 'D:\develop\studio\android-sdk\platforms\android-25\android.jar;D:\develop\studio\android-sdk\platforms\android-25\optional\org.apache.http.legacy.jar'.
生成javadoc文档.
task javadoc(type: Javadoc) {
    options{
        encoding("utf-8")
        links "http://docs.oracle.com/javase/7/docs/api"
    }
    include(
            "**/BaseConfig.java",
            "**/HciCloudSeed.java",
            "**/HciCloudSeedErrorCode.java",
            "**/BaseConfig.java",
            "**/OnSeedListener.java",
            "**/OnWakeupListener.java",
            "**/RuntimeResourceLoaderManager.java",
            "**/TtsPlayerListener.java"
    )
    source = android.sourceSets.main.java.srcDirs
    classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
    destinationDir = file("../javadoc/")
    failOnError false
}

javadoc.dependsOn(build)

最终还是选择了使用Android studio提供的生成Javadoc的方法(之前没有想要使用这种方式的原因是因为当时以为使用这种方式的话每次生成都需要选择想要生成的java文件, 过于麻烦), 最后发现, 使用这种方式只有配置过一次规则之后, 这个规则会一直存在, 因此这种方式还是比较方便的.
具体步骤如下:

1. 点击as上方的tools选择Generate JavaDoc

这里写图片描述

2. 点击之后会弹出如下弹窗

这里写图片描述

3. 在这里可以选择需要生成Javadoc的文件或module, 设置生成的文件存放的位置, 以及编码格式.

下图中:
位置1 : 选择要生成Javadoc的文件
位置2: 设置生成的Javadoc文档存放的位置.
位置3.: 设置编码格式(填如下指令: -encoding utf-8 -charset utf-8)
这里写图片描述

4. 但这里有一个坑, 当你选择whole project 或者某个module时, 这些目录下的所有的文件都会生成javadoc, 很明显这不是我们想要的, 我们想要的是生成指定文件的Javadoc,想要生成指定文件的javadoc, 可及custom scope右侧的三个小点,点击之后会弹出如下界面, 然后点击”+”

这里写图片描述

5. 点击local

这里写图片描述

6. 点击后会让你设置一个你这个自定义规则的名字, 以后你就可以直接根据这个名字找到你这次配置的规则.

这里写图片描述

7. 这是就可以选择你想要生成javadoc的文件或者文件夹了

这里写图片描述

到这里就配置好了, 就可以生成你想要的javadoc了.

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Gradle是一种基于Apache Ant和Apache Maven概念的自动化构建工具,用于Java项目的自动化构建、依赖管理和测试等。在Android StudioGradle被用来构建和管理Android项目。 Gradle配置包括: 1. 项目级别的Gradle配置:位于项目根目录下的build.gradle文件,用于配置整个项目的构建和依赖管理。 2. 模块级别的Gradle配置:位于每个模块的build.gradle文件,用于配置该模块的构建和依赖管理。 在Gradle配置,常见的配置项包括: 1. repositories:用于指定依赖库的仓库地址,可以是本地文件系统、远程Maven仓库或者其他自定义仓库。 2. dependencies:用于指定项目的依赖库,可以是本地文件系统、远程Maven仓库或者其他自定义仓库。 3. buildTypes:用于指定项目的构建类型,例如debug、release等。 4. productFlavors:用于指定项目的产品风味,例如free、paid等。 5. compileSdkVersion、buildToolsVersion、minSdkVersion、targetSdkVersion等:用于指定项目的编译版本、构建工具版本、最低支持版本和目标版本等。 以上是Android StudioGradle配置的基础内容,具体配置还需要根据项目需求进行调整。 ### 回答2: GradleAndroid Studio的一种构建工具,用于编译、打包、发布Android应用程序。它使用Groovy语言编写,基于Apache Maven和Apache Ant构建工具的优点,支持灵活的构建脚本并提供了丰富的插件,可以有效地管理依赖关系、自动化构建任务、自动导入库等。 在Android StudioGradle配置分为两部分:项目级别的Gradle配置和模块级别的Gradle配置。 项目级别的Gradle配置包括build.gradle文件和gradle-wrapper.properties文件。build.gradle文件是Gradle构建脚本的主文件,它定义了项目的构建方式、仓库地址、插件,以及需要构建的模块等。gradle-wrapper.properties文件是Gradle包装器的配置文件,它定义了Gradle版本号并指定了Gradle下载地址。 模块级别的Gradle配置包括build.gradle文件和proguard-rules.pro文件。build.gradle文件包括了该模块的构建配置,包括依赖库、运行时权限、签名方式,以及生成的APK路径等。proguard-rules.pro文件是混淆规则文件,它包括了混淆代码时需要忽略的类和方法等信息。 要配置Gradle,我们需要根据实际需要添加或修改相应的内容。例如,添加依赖库可以在build.gradle文件的dependencies节点添加相关依赖库信息,例如: implementation 'com.android.support:appcompat-v7:28.0.0' 如果需要修改混淆规则,可以在proguard-rules.pro文件添加相关规则,例如: -keep class com.example.app.** { *;} 总之,Gradle是一款功能强大的构建工具,它可以帮助开发者自动化构建任务,管理依赖关系等。对于Android开发者而言,掌握Gradle配置是非常重要的技能,可以提高开发效率,降低开发成本。 ### 回答3: Android Studio是一种支持Android应用程序开发的集成开发环境,而Gradle则是一种基于Apache Maven和Ant的开源构建自动化工具。它可以更轻松地以面向对象的方式来管理Java工程。在Android Studio,使用Gradle配置可以使项目更加方便,同时也具备了灵活性。 首先,我们需要了解一些Android StudioGradle配置的基本知识。可以在项目的根目录下找到build.gradle文件,这是Gradle构建脚本文件的主要文件之一。它包含了项目构建所需的所有配置信息,如编译版本号、依赖项等。在Gradle构建脚本,有两个重要的部分称为buildscript和dependencies。 buildscript: buildscript的配置项是为了配置Gradle的编译环境。通常包含如下的内容: - repositories: Gradle插件库和第三方库的URL地址。 - dependencies: Gradle插件列表,所有的插件都需要在这个部分声明,基本上最常见的就是com.android.tools.build:gradle。 dependencies: dependencies部分包含项目依赖的所有库文件,例如支持库和第三方库。我们可以通过在dependencies块添加依赖项来设置库和版本: 例如: ``` dependencies { compile 'com.android.support:appcompat-v7:26.0.0-beta1' compile 'com.android.support.constraint:constraint-layout:1.0.2' } ``` 此外,我们还可以更改项目编译版本。可以在build.gradle文件修改编译版本信息,例如minSdkVersion,targetSdkVersion和compileSdkVersion。以下是一个示例: ``` android { compileSdkVersion 27 defaultConfig { minSdkVersion 19 targetSdkVersion 27 ... } buildTypes { release { ... } } } ``` 在配置Gradle时,我们还可以添加自定义任务。Gradle提供了一组系统任务,例如clean,assemble,build和check等。我们也可以使用Gradle插件以及自定义任务来自己指定相关任务。 总之,配置Gradle可以使Android Studio更加灵活,能够更好地管理、构建和部署项目。通过使用Gradle构建脚本,我们可以更方便地进行依赖项管理以及其他任务。同时,它还支持自定义插件和扩展,以满足我们的特定需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值