關(guān)于 AndroidManifest.xml 通過 build.gradle 使用 gradle.properties 中文字符亂碼問題

在 AndroidManifest.xml 文件中間可以通過 build.gradle 做中轉(zhuǎn)丽已,去獲取 gradle.property 中的變量焰望,主要是在使用 jenkins 自動構(gòu)建的時(shí)候動態(tài)配置構(gòu)建參數(shù)稽鞭。

給出一個(gè) gradle.property 文件

# Project-wide Gradle settings.

APP_NAME = 安卓應(yīng)用
APP_ID = com.example

這里的字符串可以不用加引號避除。前面是字段名齐苛,后面的是字段對應(yīng)的值翘盖。可以在 build.gradle 文件里直接使用這些字段的值凹蜂。

apply plugin: 'com.android.application'

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

ext {
    appVersionCode = 277
    appVersionName = 277
    appid = APP_ID
    appName = getAppName()
}

android {
    flavorDimensions "default"
    compileSdkVersion 26
    buildToolsVersion '26.0.2'
    defaultConfig {
        applicationId "com.xjj.cloud.ypjczd"
        minSdkVersion 15
        targetSdkVersion 26
        versionCode 1
        versionName appVersionName
        resValue("string", "SERVER_URL", XJJ_SN_SERVER_URL)
        resValue("string", "useVpn", XJJ_USE_VPN)
    }

    productFlavors {
        example {
            applicationId appid
            manifestPlaceholders = [APP_ICON: "@drawable/ic_launcher",
                APP_NAME: appName]
        }
    }

}

上面是在 app 目錄底下的 builde.gradle 文件的部分內(nèi)容馍驯。

在 ext 里面定義的變量 appid 和 appName 是可以在當(dāng)前的 build.gradle 中直接使用,這兩個(gè)變量后面的賦值 APP_ID 和 APP_NAME 是自動從 gradle.property 中讀取玛痊。這里定義了一個(gè) getAppName 是因?yàn)橹苯邮褂?APP_NAME 會導(dǎo)致亂碼汰瘫。所以這里轉(zhuǎn)換了一下。另外記得去 setting - editor - File Encodings 里面把所有的編碼都改為 UTF-8 的擂煞。如下圖所示:

Setting.png

然后為了在 AndroidManifest.xml 文件里面使用混弥,所以我們在 build.gradle 文件里面的 manifestPlaceholders 定義了 APP_ICON 和 APP_NAME。

    productFlavors {
        example {
            applicationId appid
            manifestPlaceholders = [APP_ICON: "@drawable/ic_launcher",
                APP_NAME: appName]
        }
    }

這樣子对省,我們就可以在 AndroidManifest.xml 文件中通過 "${APP_ICON}" 這種方式來調(diào)用 build.gradle 中的變量剑逃。如下所示:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          android:installLocation="auto"
          package="com.xjj.demo">


    <application
        android:name=".MyApplication"
        android:allowBackup="true"
        android:icon="${APP_ICON}"
        android:label="${APP_NAME}"
        android:roundIcon="${APP_ICON}"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">

        <activity
            android:name="com.example.MyActivity"
            android:alwaysRetainTaskState="true"
            android:hardwareAccelerated="true"
            android:screenOrientation="portrait">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

    </application>

</manifest>

所以 AndroidManifest.xml 就通過 build.gradle 文件來調(diào)用 gradle.property 中定義的變量了。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末官辽,一起剝皮案震驚了整個(gè)濱河市蛹磺,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌同仆,老刑警劉巖萤捆,帶你破解...
    沈念sama閱讀 221,820評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異俗批,居然都是意外死亡俗或,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,648評論 3 399
  • 文/潘曉璐 我一進(jìn)店門岁忘,熙熙樓的掌柜王于貴愁眉苦臉地迎上來辛慰,“玉大人,你說我怎么就攤上這事干像∷щ纾” “怎么了?”我有些...
    開封第一講書人閱讀 168,324評論 0 360
  • 文/不壞的土叔 我叫張陵麻汰,是天一觀的道長速客。 經(jīng)常有香客問我,道長五鲫,這世上最難降的妖魔是什么溺职? 我笑而不...
    開封第一講書人閱讀 59,714評論 1 297
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上浪耘,老公的妹妹穿的比我還像新娘乱灵。我一直安慰自己,他們只是感情好七冲,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,724評論 6 397
  • 文/花漫 我一把揭開白布痛倚。 她就那樣靜靜地躺著,像睡著了一般癞埠。 火紅的嫁衣襯著肌膚如雪状原。 梳的紋絲不亂的頭發(fā)上聋呢,一...
    開封第一講書人閱讀 52,328評論 1 310
  • 那天苗踪,我揣著相機(jī)與錄音,去河邊找鬼削锰。 笑死通铲,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的器贩。 我是一名探鬼主播颅夺,決...
    沈念sama閱讀 40,897評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼蛹稍!你這毒婦竟也來了吧黄?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,804評論 0 276
  • 序言:老撾萬榮一對情侶失蹤唆姐,失蹤者是張志新(化名)和其女友劉穎拗慨,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體奉芦,經(jīng)...
    沈念sama閱讀 46,345評論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡赵抢,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,431評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了声功。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片烦却。...
    茶點(diǎn)故事閱讀 40,561評論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖先巴,靈堂內(nèi)的尸體忽然破棺而出其爵,到底是詐尸還是另有隱情,我是刑警寧澤伸蚯,帶...
    沈念sama閱讀 36,238評論 5 350
  • 正文 年R本政府宣布醋闭,位于F島的核電站,受9級特大地震影響朝卒,放射性物質(zhì)發(fā)生泄漏证逻。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,928評論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望囚企。 院中可真熱鬧丈咐,春花似錦、人聲如沸龙宏。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,417評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽银酗。三九已至辆影,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間黍特,已是汗流浹背蛙讥。 一陣腳步聲響...
    開封第一講書人閱讀 33,528評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留灭衷,地道東北人次慢。 一個(gè)月前我還...
    沈念sama閱讀 48,983評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像翔曲,于是被迫代替她去往敵國和親迫像。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,573評論 2 359

推薦閱讀更多精彩內(nèi)容