zoukankan      html  css  js  c++  java
  • 在Android studio中用gradle打 jar 包(Mac下)

    这两天公司要重构项目,以前的项目在eclipse上,准备迁移到Android studio上,需要对项目打包,于是我学习了Android studio中gradle打包的内容。我在公司用的Mac,在家用的Windows,两种平台下,打包基本一样的,这里主要说下在Mac系统下的过程。

    在Andorid studio中的Terminal用的是Mac的终端,所以要使用Terminal的gradle命令打包,先要配置下mac中的gradle环境,打开mac上的终端:

          (1) 输入命令:open .bash_profile

          (2) 如果提示没有.base_profile文件,则要先创建.bash_profile文件。

               创建.bash_profile文件:

                       输入:touch .bash_profile     命令后会帮你创建并打开.bash_profile文件

         (3)在打开的.bash_profile文件中编辑,下面是我内容:

                export GRADLE_HOME=/Users/wuqiyan/Downloads/Software/gradle-2.12;(下载gradle-2.12,解压后的目录)

                export PATH=$PATH:$GRADLE_HOME/bin

                保存后就可以了。

          (4)再输入命令:open .bash_profile 就可以打开.bash_profile文件内容了。

          (5)以上过程结束后,gradle环境配置好了。检查下,输入命令:gradle -version  看到下面的就等于配置好了。

               

                  ------------------------------------------------------------

                  Gradle 2.12

                 ------------------------------------------------------------

     

                 Build time:   2016-03-14 08:32:03 UTC

                 Build number: none

                 Revision:     b29fbb64ad6b068cb3f05f7e40dc670472129bc0

     

                Groovy:       2.4.4

                Ant:          Apache Ant(TM) version 1.9.3 compiled on December 23 2013

                JVM:          1.8.0_77 (Oracle Corporation 25.77-b03)

                OS:           Mac OS X 10.11.3 x86_64

     

    以上就是Mac中的gradle的配置,这时候回到Android studio中,在Terminal中输入命令:gradle -version  也会看到上面的提示。

    先来看下目录结构:

     

    先建了一个项目后,打开app下的build.gradle文件:

    (1)将 apple plugin:'com.android.application'改为apply plugin: 'com.android.library'

    (2)删除:applicationId,versionCode,versionName

    (3)加入:

    task clearJar(type: Delete) {
        //删除以前有的
        delete 'build/libs/partJar.jar'
     }
    task makeJar(type: Copy) {
         //从哪里打包class文件,可以指定文件和目录
         from('build/intermediates/bundles/debug/')
          //打包到jar后的目录结构
         into('build/libs/')
         include('classes.jar')
         rename ('classes.jar', 'partJar.jar')
     }
     makeJar.dependsOn(clearJar, build) 
    代码输入完之后,在andriod studio中Terminal中输入:./gradlew makeJar    (windows中输入:gradlew makeJar)
    最后就可以在 build/libs/目录下找到partJar.jar。



    如果要打Jar指定包名和类的话,可以参考下面的代码:
    task clearJar(type: Delete) {
        delete 'build/libs/partJar.jar'
    }
    task makeJar(type:org.gradle.api.tasks.bundling.Jar) {
        //指定生成的jar名
        baseName 'partJar2'
        //从哪里打包class文件,可以指定文件和目录
        from('build/intermediates/classes/debug/com/example/wuqiyan/exportjar/') {
            include 'BuildConfig.class'
        }
        //打包到jar后的目录结构
        into('com/example/wuqiyan/exportjar/')
    }
    makeJar.dependsOn(clearJar,build)

    可以阅读:http://www.alloyteam.com/2015/03/shi-yong-gradle-da-bao-zhi-ding-bao-ming-he-lei-di-jar/

                  http://www.jianshu.com/p/dc6bcd4478a1

    http://blog.csdn.net/edisonchang/article/details/51296265

     
  • 相关阅读:
    linux驱动启动顺序
    ubuntu下安装UltraEdit
    Linux下安装redis
    IntelliJ IDEA 设置Terminal 窗口字体大小
    centOS安装node
    linux下安装pm2
    nuxt部署在Linux下,ip+端口无法访问到
    var与let、const的区别
    JS函数和箭头函数
    回调函数
  • 原文地址:https://www.cnblogs.com/IT-Goddess/p/5420682.html
Copyright © 2011-2022 走看看