Android Studio 如何像Eclipse一样配置User Library

熟悉了用Eclipse开发Android应用,转用Android Studio的时候总会碰到一些在Eclipse中很好用的功能,在Android Studio中找不到应用的功能,比如导入第三方jar包。

背景

​ 熟悉Eclipse的都知道,当我们要导入第三方jar包,我们一般不会将jar包放在项目的libs文件夹下,特别是可能多个项目同时会用到同一个jar包时,一般我们都是在User Libraries中new 一个User Library,然后将为其配置特定的jar包。

image

这样,我们后面要使用的话,就可以直接引用了,像下面一样:

image

这种方式可以省去每次都copy到每个项目的libs文件夹中。此外,当这个jar有更新时,也不用copy到libs文件夹中更新。然而,我们在Android Studio中导入第三方jar包时,一般仍然是采用copy到module中libs文件夹中的方式,这种方式的缺点可想而知。那么问题来了,在Android Studio能不能像Eclipse中那样,做到不用多次copy,一处更新,处处更新的效果呢?答案是肯定的,下面我们就看下具体的方法。

Android Studio中的实现

 在Android Studio中实现引用特定位置的jar的方式其实和Eclipse中的原理类似。我们看下具体的步骤,就会理解他们的相似之处。

  • 在你的Project下面的buid.gradle文件中的最外层定义如下内容:

    1
    2
    3
    ext {
    kernelServicePath='E:\\shymanzhu\\workspace\\jarlibs\\szx_kernel_service_lib.jar'
    }

    在ext命名空间中定义jar包位置属性kernelServicePath,并指定jar包的绝对路径。有关于”ext”命名空间的更多内容照Project中关于Extra 属性的解释。

  • 在你的Project的ext命名空间中定义好后,然后就可以在你任意需要引用的module中引用了。比如想在Module A中引用刚才的jar包,那么在Module A中的build.gradle的“dependence”命名空间中文加入如下内容:

    1
    compile files(rootProject.ext.kernelServicePath)

    这样就实现和Eclipse中一样的效果了。