当前位置:   article > 正文

Android studio gradle 配置_settings.gradle classpath

settings.gradle classpath
(配置好的gradle 可直接copy,方便开发)

  1. def AppPackageName = "com.example.xurunjie.mimi" /** 包名:必须改当前包名 */
  2. def AppSigningKey = "./example" /** APK 签名key文件目录 */
  3. def StorePassword = "111111" /** APK 签名key密码(第一重密码) */
  4. def KeyAlias = "example" /** APK 签名key别名 */
  5. def KeyPassword = "111111" /** APK 签名key别名密码(第二重密码) */
  6. // 声明是Android程序
  7. apply plugin: 'com.android.application'
  8. android {
  9. // 编译SDK的版本
  10. compileSdkVersion 23
  11. // build tools的版本
  12. buildToolsVersion "23.0.2"
  13. defaultConfig {
  14. // 应用的包名
  15. applicationId AppPackageName
  16. minSdkVersion 15
  17. targetSdkVersion 23
  18. versionCode 1
  19. versionName "1.0"
  20. }
  21. /**
  22. * 签名设置
  23. */
  24. signingConfigs {
  25. release {//发布版签名配置
  26. storeFile file(AppSigningKey)//密钥文件路径
  27. storePassword StorePassword//密钥文件密码
  28. keyAlias KeyAlias//key别名
  29. keyPassword KeyPassword//key密码
  30. }
  31. debug {//debug版签名配置
  32. storeFile file(AppSigningKey)//密钥文件路径
  33. storePassword StorePassword//密钥文件密码
  34. keyAlias KeyAlias//key别名
  35. keyPassword KeyPassword//key密码
  36. }
  37. }
  38. /**
  39. * 混淆设置
  40. */
  41. buildTypes {
  42. release {
  43. signingConfig signingConfigs.release//设置签名信息
  44. minifyEnabled false
  45. shrinkResources true
  46. proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-project.txt'
  47. }
  48. debug {
  49. signingConfig signingConfigs.debug
  50. minifyEnabled false
  51. }
  52. }
  53. //这个是解决lint报错的代码
  54. lintOptions {
  55. checkReleaseBuilds false
  56. // Or, if you prefer, you can continue to check for errors in release builds,
  57. // but continue the build even when errors are found:
  58. abortOnError false
  59. }
  60. /**
  61. * 这个APP运行的环境是在SDK API 15,如果你改为19或者更高是会报错的。添加如下代码
  62. */
  63. packagingOptions {
  64. exclude 'META-INF/LICENSE.txt'
  65. exclude 'META-INF/NOTICE.txt'
  66. }
  67. /**
  68. * 替换AndroidManifest.xml的UMENG_CHANNEL_VALUE字符串为渠道名称 0.14.0版本以上
  69. */
  70. productFlavors.all { flavor ->
  71. flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
  72. }
  73. /**
  74. * 渠道打包(不同包名)
  75. */
  76. productFlavors {
  77. // QQ2_market {}
  78. }
  79. applicationVariants.all { variant ->
  80. variant.outputs.each { output ->
  81. def tempName = "";
  82. def apkName = "****"
  83. def outputFile = output.outputFile
  84. def channel = variant.productFlavors[0].name
  85. def versionName = "${defaultConfig.versionName}"
  86. println channel
  87. println "*****************\n"
  88. /*if(channel.contains("pre")){
  89. channel = channel.replaceAll("pre", "")
  90. }*/
  91. tempName = "_" + channel
  92. println "*****************\n"
  93. println "buildType.name = " + variant.buildType.name
  94. println "*****************\n"
  95. if (outputFile != null && outputFile.name.endsWith('.apk')) {
  96. if (variant.buildType.name == "release") {
  97. //此处将apk保存到指定目录,按照版本号做子文件夹 命名规则是apkName_Xiaomi_V4.4.2.apk
  98. apkName += tempName + "_v" + versionName + ".apk";
  99. output.outputFile = file("/Users/xurunjie/Documents/output" + versionName + "/" + apkName)
  100. }
  101. }
  102. }
  103. }
  104. sourceSets {//目录指向配置
  105. main {
  106. manifest.srcFile 'AndroidManifest.xml'//指定AndroidManifest文件
  107. java.srcDirs = ['src']//指定source目录
  108. resources.srcDirs = ['src']//指定source目录
  109. aidl.srcDirs = ['src']//指定source目录
  110. renderscript.srcDirs = ['src']//指定source目录
  111. res.srcDirs = ['res']//指定资源目录
  112. assets.srcDirs = ['assets']//指定assets目录
  113. jniLibs.srcDirs = ['libs']//指定lib库目录,so导入
  114. }
  115. debug.setRoot('build-types/debug')//指定debug模式的路径
  116. release.setRoot('build-types/release')//指定release模式的路径
  117. }
  118. }
  119. dependencies {
  120. // 编译libs目录下的所有jar包
  121. compile fileTree(dir: 'libs', include: ['*.jar'])
  122. compile 'com.android.support:appcompat-v7:23.2.0'
  123. compile 'com.jakewharton:butterknife:7.0.1'
  124. }

补充摘自:http://stormzhang.com/devtools/2014/12/18/android-studio-tutorial4/

其实很早之前也写了一篇Gradle的基础博客,但是时间很久了,现在Gradle已经更新了很多,所以暂且结合Stduio 1.0正式版与最新的Gradle语法来详细讲解下,小伙伴们直接跟我一步步来学习吧。

什么是Gradle?

Gradle是一种依赖管理工具,基于Groovy语言,面向Java应用为主,它抛弃了基于XML的各种繁琐配置,取而代之的是一种基于Groovy的内部领域特定(DSL)语言。

安装Gradle

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/喵喵爱编程/article/detail/907379
推荐阅读
相关标签
  

闽ICP备14008679号