zoukankan      html  css  js  c++  java
  • build.gradle使用gradle.property中定义的字段及乱码问题的解决

                         gradle.property文件可以用来定义一些字段 而这些字段可以被build.gradle文件引用到 

      例如:给大家贴出来一个gradle.property文件

    # Project-wide Gradle settings.
    APP_NAME=example_name
    IS_DEMO=false
    VERSION_CODE=99
    VERSION_NAME=1.1.1
    STORE_FILE=test

    文件里有这些字段  前面是字段名  后面的是字段对应的值 我们可以在build.gradle文件里直接使用这些字段的值

    例如:我们在build.gradle中使用VERSION_NAME、  VERSION_CODE、APP_NAME、IS_DEMO 等字段

    注意颜色  红色的字段是会自动从gradle.property中读取的,但是蓝色的字段是我们在AndroidManifest.xml文件中用到的 meta-data字段

      

    apply plugin: 'com.android.application'

    android {
    compileSdkVersion 21
    buildToolsVersion '25.0.0'

    defaultConfig {
    minSdkVersion 19
    targetSdkVersion 21
    versionCode VERSION_CODE
    versionName VERSION_NAME
    manifestPlaceholders = [APP_NAME: getMy(), IS_DEMO: IS_DEMO] //manifestPlaceholders里边对应的字段是AndroidManifest.xml中用到的meta-data字段(蓝色的部分)
    }

    buildTypes {
    release {
    minifyEnabled false
    proguardFile 'proguard-project-release.txt'
    }

    }
    compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_7
    targetCompatibility JavaVersion.VERSION_1_7
    }

    }

    def getMy() {
    return new String(APP_NAME.getBytes("iso8859-1"), "UTF-8")
    }

    dependencies {
    .......
    }

    下面是在AndroidManifest.xml中用到的meta-data字段

      <application
                android:name=".StartApp"
                android:allowBackup="false"
                android:icon="@drawable/xxxxx"
                android:label="${APP_NAME}">
    
    <!-- 演示版标识 -->
            <meta-data
                    android:name="SUSPEND_TAG"
                    android:value="${IS_DEMO}"/>

       写到这里大家会疑惑为什么有这句话

    manifestPlaceholders = [APP_NAME: getMy(), IS_DEMO: IS_DEMO] 
    这里的APP_NAME是meta-data的字段 为什么我还要再定义一个getMy()方法去取值
    这里是因为如果直接引用gradle.property里的值会出现中文乱码

    至此 我们完成了build.gradle文件对gradle.property文件字段值的读取
  • 相关阅读:
    [转]编译原理书籍推荐
    [转]让 Dreamweaver 支持 Emmet(原ZenCoding)
    [转]Zend Studio GitHub 使用教程
    [转]如何用EGit插件把github上的项目clone到eclipse
    [转]github更新自己fork的代码
    [转]少走弯路:学习编译原理的相关建议
    [转]关于计算机研究生报考方向的简要介绍
    [转]zend studio 安装git插件
    [转]如何在SAE上安装原版wordpress
    C语言博客作业02循环结构
  • 原文地址:https://www.cnblogs.com/bimingcong/p/8144736.html
Copyright © 2011-2022 走看看