国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

官網(wǎng)文檔 gradle 理解

2019-11-09 15:14:09
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
Android Studio 使用 Gradle 這一高級(jí)構(gòu)建工具包來(lái)自動(dòng)化執(zhí)行和管理構(gòu)建流程,同時(shí)也允許您定義靈活的自定義構(gòu)建配置。每個(gè)構(gòu)建配置均可自行定義一組代碼和資源,同時(shí)對(duì)所有應(yīng)用版本共有的部分加以重復(fù)利用。Android Plugin for Gradle 與這個(gè)構(gòu)建工具包協(xié)作,共同提供專用于構(gòu)建和測(cè)試 Android 應(yīng)用的流程和可配置設(shè)置。

gradle 和 android plugin fore gradle 都是獨(dú)立于android studio 運(yùn)行。

構(gòu)建流程圖 這里寫(xiě)圖片描述

配置構(gòu)建類型

您可以在模塊級(jí) build.gradle 文件的 android {} 代碼塊內(nèi)部創(chuàng)建和配置構(gòu)建類型。當(dāng)您創(chuàng)建新模塊時(shí),Android Studio 會(huì)自動(dòng)為您創(chuàng)建調(diào)試和發(fā)布這兩種構(gòu)建類型。盡管調(diào)試構(gòu)建類型不會(huì)出現(xiàn)在構(gòu)建配置文件中,Android Studio 會(huì)將其配置為 debuggable true。這樣,您可以在安全的 Android 設(shè)備上調(diào)試應(yīng)用并使用通用調(diào)試密鑰庫(kù)配置 APK 簽署。

如果您希望添加或更改特定設(shè)置,您可以將調(diào)試構(gòu)建類型添加到您的配置中。以下示例為調(diào)試構(gòu)建類型指定了 applicationIdSuffix,并配置了一個(gè)使用調(diào)試構(gòu)建類型中的設(shè)置進(jìn)行初始化的“jnidebug”構(gòu)建類型。

android { ... defaultConfig {...} buildTypes { release { minifyEnabled true PRoguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } debug { applicationIdSuffix ".debug" } /** * The 'initWith' property allows you to copy configurations from other build types, * so you don't have to configure one from the beginning. You can then configure * just the settings you want to change. The following line initializes * "jnidebug" using the debug build type, and changes only the * applicationIdSuffix and versionNameSuffix settings. */ jnidebug { // This copies the debuggable attribute and debug signing configurations. initWith debug applicationIdSuffix ".jnidebug" jniDebuggable true } }} buildTypes 可以配置各個(gè)版本需要的相應(yīng)屬性,例如發(fā)布版本需要 混淆, 而debug版本不需要, 或者其他自定義版本的屬性。 在buildTypes區(qū)域中可以配置許多構(gòu)建的屬性,例如: 混淆文件 --proguardFiles、是否過(guò)濾掉未使用的資源 -- shrinkResources (默認(rèn)為false: 未使用 是指代碼中從未引用過(guò)的resource資源)、開(kāi)啟多個(gè)Dex文件--multiDexEnabled (在android 5.0之前需要使用,用于突破65K方法數(shù))等。更多的屬性可以參考官方文檔。

配置產(chǎn)品風(fēng)味


創(chuàng)建產(chǎn)品風(fēng)味與創(chuàng)建構(gòu)建類型類似:只需將它們添加到 productFlavors {} 代碼塊并配置您想要的設(shè)置。產(chǎn)品風(fēng)味支持與 defaultConfig 相同的屬性,這是因?yàn)?defaultConfig 實(shí)際上屬于 ProductFlavor 類。這意味著,您可以在 defaultConfig {} 代碼塊中提供所有風(fēng)味的基本配置,每種風(fēng)味均可替換任何默認(rèn)值,例如 applicationId。

注:您仍需在 main/ 清單文件中使用 package 屬性指定程序包名稱。您還必須在源代碼中使用此程序包名稱引用 R 類或者解析任何相關(guān)的 Activity 或服務(wù)注冊(cè)。這樣,您可以使用 applicationId 為每個(gè)產(chǎn)品風(fēng)味分配一個(gè)唯一的 ID,以用于打包和分發(fā),而不必更改您的源代碼。

以下代碼示例創(chuàng)建了一個(gè)“演示”和“完整”產(chǎn)品風(fēng)味并賦予其自己的 applicationId 和 versionName

android { ... defaultConfig {...} buildTypes {...} productFlavors { demo { applicationId "com.example.myapp.demo" versionName "1.0-demo" } full { applicationId "com.example.myapp.full" versionName "1.0-full" } } }

配置此參數(shù)之后,gradle可以根據(jù)你的配置生成相應(yīng)的apk,每一個(gè)配置對(duì)應(yīng)的一個(gè)apk。 配置完成后, 你也可以單獨(dú)的為每個(gè)flavors配置他們獨(dú)有的功能代碼。可以參考 官網(wǎng)的 “構(gòu)建配置”章節(jié)里面的”創(chuàng)建用于構(gòu)建變體的源集” 小節(jié)

配置簽署設(shè)置


除非您為發(fā)布構(gòu)建顯式定義簽署配置,否則,Gradle 不會(huì)簽署發(fā)布構(gòu)建的 APK。您可以輕松創(chuàng)建發(fā)布密鑰并使用 Android Studio 簽署發(fā)布構(gòu)建類型。

要使用 Gradle 構(gòu)建配置為您的發(fā)布構(gòu)建類型手動(dòng)配置簽署配置:

1.創(chuàng)建密鑰庫(kù)。密鑰庫(kù)是一個(gè)二進(jìn)制文件,它包含一組私鑰。您必須將密鑰庫(kù)存放在安全可靠的地方。 2.創(chuàng)建私鑰。私鑰代表將通過(guò)應(yīng)用識(shí)別的實(shí)體,如某個(gè)人或某家公司。 3.將簽署配置添加到模塊級(jí) build.gradle 文件中:

...android { ... defaultConfig {...} signingConfigs { release { storeFile file("myreleasekey.keystore") storePassWord "password" keyAlias "MyReleaseKey" keyPassword "password" } } buildTypes { release { ... signingConfig signingConfigs.release } }}

因?yàn)閍ndorid要求所有的apk先簽名才能安裝。所有你可以在這里配置相應(yīng)的秘鑰,用于發(fā)布 和 調(diào)試版本。


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 宝丰县| 宝山区| 专栏| 临江市| 肇庆市| 佛冈县| 垫江县| 淮阳县| 贞丰县| 司法| 普陀区| 青神县| 民和| 肃北| 达尔| 阳泉市| 崇州市| 巧家县| 商丘市| 报价| 普洱| 清水县| 宜良县| 内黄县| 永胜县| 邢台县| 龙海市| 淮滨县| 大冶市| 乌什县| 内丘县| 江阴市| 赞皇县| 疏勒县| 楚雄市| 万盛区| 高州市| 新营市| 宜阳县| 宁德市| 成武县|