Android gradle使用教程<二> 引用android-library工程

本文介绍了如何在Android项目中引用android-library工程,包括工程目录结构、关键配置步骤以及注意事项,提供了一个完整的示例工程供下载参考,通过gradle clean + gradle build命令进行构建,并提示使用--daemon选项提升构建速度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

所谓多工程,就是指一个工程依赖于另外一个android-library工程。


工程目录

+AppModule
  +lib //各种jar包的位置
   +libmodule //android-library工程
     +……//各种安卓工程文件
     +build.gradle //android-library工程的构建文件
   +……//各种安卓工程文件
  +settings.gradle //gradle构建配置。用来标示android-library工程的位置
  +build.gradle //gradle构建文件

工程目录很重要,settings.gradle 和build.gradle 位置如果搞错了很麻烦。名字也很重要,搞错了名字也会报无厘头的错误。

使用方法:

1. Appmodule/settings.gradle
include 'libmodule' // 标示需要引入的library工程。如果不行,build的时候会找不到。



2. libmodule/build.gradle
/*
 * Copyright (C) 2015 Baidu, Inc. All Rights Reserved.
 */
buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.2.3'
    }
}

apply plugin: 'android'

android {
    compileSdkVersion 20
    buildToolsVersion "22.0.1"

    defaultConfig {
        versionCode 12
        versionName "2xyx"
        minSdkVersion 8
        targetSdkVersion 17
    }

    dependencies {
        compile files('libs/mathutil.jar') //标示需要引入的jar包
        compile project('libmodule') //标示需要引入的工程
    }

    sourceSets { // 配置文件及文件夹路径
        main {
            manifest {
                srcFile 'AndroidManifest.xml'
            }
            res {
                srcDir 'res'
            }
            java {
                srcDir 'src'
            }
            assets {
                srcDir 'assets'
            }
        }
    }

    buildTypes {
        release {
            minifyEnabled false
        }
    }
}

line:28 compile project(‘libmodule’) //这里需要写成library工程的目录。


3. Appmodule/build.gradle
/*
 * Copyright (C) 2015 Baidu, Inc. All Rights Reserved.
 */
buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.2.3'
    }
}

apply plugin: 'android-library' //标示工程为library工程


android {
    compileSdkVersion 20
    buildToolsVersion "22.0.1"


    defaultConfig {
        versionCode 12
        versionName "4"
        minSdkVersion 8
        targetSdkVersion 17
        proguardFile "proguard-peoject.txt"
    }

    dependencies {
        provided files('libs/mathutil.jar')//引入的jar包
    }

    sourceSets {
        main {
            manifest {
                srcFile 'AndroidManifest.xml'
            }
            res {
                srcDir 'res'
            }
            java {
                srcDir 'src'
            }
        }
    }

    buildTypes {
        release {
            minifyEnabled false
        }
    }
}

line 13: 标示这个工程是library工程。
line 30: 标示引入的jar包。由于Appmodule里边已经包含了这个jar包,故此处用provided引入,标示只有编译依赖,导出时不包含这个jar包。(运行在平台上的插件经常会碰到这种情况,故此处特别说明一下)

完成上面3步的配置,你的工程就可以跑了。这里说的比较简单。下面是我的工程,有需要的童鞋下载后,直接gradle clean + gradle build就行了。命令后面加上–daemon可以大大提高运行速度,效果还是挺给力的。
工程地址是:https://github.com/LiangChaoPossible/AppModule

希望对大家有帮助。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值