Android Studio gradle的基本用法
2016-01-28 18:11
549 查看
通过gradle进行版本控制非常方便。尤其是对debug和release的切换及多渠道打包。
buildConfigField定义的常量存在于BuildConfig类中。BuildConfig为final类。存在于build文件夹下的buildConfig
resValues定义的res资源存在于generated.xml中。位在于build文件夹下的resValues
defaultConfig { applicationId "xxxx" minSdkVersion 14 targetSdkVersion 19 versionCode 1 versionName "1.0.0" // 设置默认开发渠道 manifestPlaceholders = [UMENG_CHANNEL_VALUE:"default_channel"] // 设置默认非debug模式 buildConfigField("boolean", "IS_DEBUG", "false") } buildTypes { debug { // 定义一个新的常量,使用BuildConfig.API_URL引用 buildConfigField "String", "API_URL", "http://api.dev.com/" //使用BuildConfig.IS_DEBUG引用 buildConfigField "boolean", "IS_DEBUG", "true" // net_type_debug字段写在gradle.properties中 buildConfigField "int", "RELEASE_TYPE", "${net_type_debug}" // 定义一个新的res资源,string要小写,使用R.String.name引用 resValues "string", "name", "vaule" resValues "boolean", "name", "value" // 替换Manifest中的字段${UMENG_APP_KEY},${QQ_APP_ID} manifestPlaceholders = [UMENG_APP_KEY:"xxxxxxx", QQ_APP_ID:"xxxxxx"] } release { // 移除未使用的资源 shrinkResources true // 是否混淆代码 minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' buildConfigField "String", "API_URL", "http://api.prod.com/" buildConfigField "boolean", "IS_DEBUG", "false" buildConfigField "int", "RELEASE_TYPE", "${net_type_release}" resValues "string", "name", "vaule" resValues "boolean", "name", "value" manifestPlaceholders = [UMENG_APP_KEY:"xxxxxxx", QQ_APP_ID:"xxxxxx"] } } // 多渠道打包 productFlavprs{ // 在此声明渠道名 C00_umeng{} C01_BaiDu{} ... productFlavors.all { flavor -> // 其中UMENG_CHANNEL_VALUE字段在Manifest中定义为${UMENG_CHANNEL_VALUE} flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name] } } // debug keystore signingConfigs { debug { storeFile file('key/debug.keystore') } } // 这里你可以进行 Java 的版本配置,以便使用对应版本的一些新特性。 compileOptions { sourceCompatibility JavaVersion.VERSION_1_7 targetCompatibility JavaVersion.VERSION_1_7 } //执行lint检查,有任何的错误或者警告提示,都会终止构建,我们可以将其关掉。 lintOptions { abortOnError false } // 自动解析so文件 task nativeLibsToJar(type: Zip, description: "create a jar archive of the native libs") { destinationDir file("$projectDir/libs") baseName "Native_Libs2" extension "jar" from fileTree(dir: "libs", include: "**/*.so") into "lib" } tasks.withType(JavaCompile) { compileTask -> compileTask.dependsOn(nativeLibsToJar) }
buildConfigField定义的常量存在于BuildConfig类中。BuildConfig为final类。存在于build文件夹下的buildConfig
resValues定义的res资源存在于generated.xml中。位在于build文件夹下的resValues
相关文章推荐
- Android布局文件中的四种单位
- 使用Android Studio发布私有库到仓库中心
- 如何用AndroidStudio关联github导入项目
- Android实现从底部弹出的Dialog(一)
- Android代码内存优化建议-Android资源篇
- Android更换图片或应用图标不成功解决方法
- Android开发之用ViewPager实现欢迎引导页面
- Android中的下拉选择菜单(封装控件)
- 快速掌握 Android Studio 中 Gradle 的使用方法
- [android界面]android中src和background区别——前景与背景
- Android 学习笔记(一)(客户端、服务器socket通信教程)
- android studio 导入项目是出现:Error:(1, 0) Plugin is too old, please update to a more recent version, or se
- android中点击任意空白处隐藏键盘的方法
- Android开发——思路源泉
- Android设备驱动之——V4L2
- Android是如何根据限定符,来寻找合适的资源文件的?
- Android性能优化之过渡绘制( 二)
- Android ScrollView向上滑动控件顶部悬浮效果实现
- Android悬浮窗效果的实现
- Android 5.0学习之ListView升级版RecyclerView