怎么样" libs"在gradle android项目中创建和维护?

时间:2015-09-01 08:33:31

标签: android android-gradle

我目前没有将http://truenorthit.co.uk/2014/11/17/unit-testing-biztalk-maps-external-functoids/用于我的第三方依赖项(似乎它们是自动添加到build / intermediates / pre-dexed /)但是注意到它可能有助于静态代码分析所以我想将它添加到项目中。 注意:我使用maven依赖

我的问题:人们是否使用自定义脚本生成此文件夹?我认为这不会生成一次,然后在有新版本可用时手动维护。

请赐教!

2 个答案:

答案 0 :(得分:2)

使用Android Studio和Gradle,无需使用libs文件夹(旧的.jar库除外)。

事实上,你可以开发安卓Android应用的Android应用,就像你的build.gradle已经有apply plugin: 'com.android.application'

一样

Gralde通过gradle依赖项使用Maven或jCenter来导入库。 Gradle和Android Gradle插件将自动下载 libs,正如您在构建/文件夹中所说的那样。它不是静态的,可以使用Android Studio上的Clean projet清除。此外,当您的build.gradle中自动提供新库版本时,Android Studio将添加警告。

不要错过用于导入.jar库的旧libs文件夹

答案 1 :(得分:0)

  

我目前没有使用" libs"我的第三方依赖项的文件夹(它似乎是自动添加到build / intermediates / pre-dexed /)但是注意到它可能有助于静态代码分析,所以我想将它添加到项目中。注意:我使用maven依赖项。

请勿将libs文件夹与build/intermediates/pre-dexed/文件夹混淆 目前,用于Android的 gradle插件管理构建过程并创建这些"内部"和中间体文件夹。

  

我的问题:人们是否使用自定义脚本生成此文件夹?   我几乎认为这不会产生一次

您不必创建此文件夹。适用于Android的Gradle插件可为您管理。此外,当您运行gradlew clean命令时,它将被删除并重新创建。

  

然后在有新版本可用时手动维护。

没有。您的相关性在build.gradle文件中定义 定义新版本时,Gradle会下载新的依赖项并更新中间文件夹。

您可以通过多种方式定义依赖关系:

dependencies{
   //You can create a folder and put jar files inside. You can use your favorite name, usually it is libs.
   compile fileTree(dir: 'libs', include: ['*.jar'])

   //The support libraries dependencies are in a local maven managed by SDK 
   compile 'com.android.support:appcompat-v7:23.0.0'

  // A Maven dependency
  compile 'com.squareup.picasso:picasso:2.5.2'

  //A local library
  compile project(':mylibrary')

  //An aar file. It requires to define a repository.
  //repositories{
  //    flatDir{
  //            dirs 'libs'
  //     }
  //}
  compile(name:'nameOfYourAARFileWithoutExtension', ext:'aar')
}