欧美三级国产三级日韩三级_亚洲熟妇丰满大屁股熟妇_欧美亚洲成人一区二区三区_国产精品久久久久久模特

Android官方技術(shù)文檔翻譯——Gradle插件用戶指南(7) - 新聞資訊 - 云南小程序開發(fā)|云南軟件開發(fā)|云南網(wǎng)站建設(shè)-昆明葵宇信息科技有限公司

159-8711-8523

云南網(wǎng)建設(shè)/小程序開發(fā)/軟件開發(fā)

知識

不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價(jià)值,我們在追求其視覺表現(xiàn)的同時(shí),更側(cè)重于功能的便捷,營銷的便利,運(yùn)營的高效,讓網(wǎng)站成為營銷工具,讓軟件能切實(shí)提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序?yàn)楹笃谏壧峁┍憬莸闹С郑?

您當(dāng)前位置>首頁 » 新聞資訊 » 技術(shù)分享 >

Android官方技術(shù)文檔翻譯——Gradle插件用戶指南(7)

發(fā)表時(shí)間:2020-10-19

發(fā)布人:葵宇科技

瀏覽次數(shù):106


本文譯自Android官方技巧文檔《Gradle Plugin User Guide》,原文地址:http://tools.android.com/tech-docs/new-build-system/user-guide。
翻譯不易,轉(zhuǎn)載請注明CSDN博客上的出處:
http://blog.csdn.net/maosidiaoxian/article/details/42417779
前三章見《Android官方技巧文檔翻譯——Gradle 插件用戶指南(1-3)》。
第四┞仿見《Android官方技巧文檔翻譯——Gradle 插件用戶指南(4)》。
第五章見《Android官方技巧文檔翻譯——Gradle 插件用戶指南(5)》。
第六章見《Android官方技巧文檔翻譯——Gradle 插件用戶指南(6)》。
翻譯工作耗時(shí)操心,如不雅你認(rèn)為本文翻譯得還OK,請點(diǎn)擊文末的“頂”,感謝。翻譯如有錯(cuò)訛,敬請斧正。

高等構(gòu)建定制

構(gòu)建選項(xiàng)

Java 編譯選項(xiàng)



android {
    compileOptions {
        sourceCompatibility = "1.6"
        targetCompatibility = "1.6"
    }
}

默認(rèn)值為“1.6”。這個(gè)設(shè)備會(huì)影響所有編譯 Java 源代碼的義務(wù)。

aapt 選項(xiàng)



android {
    aaptOptions {
        noCompress 'foo', 'bar'
        ignoreAssetsPattern "!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"
    }
}

這個(gè)設(shè)備會(huì)影響所有應(yīng)用aapt的義務(wù)。

dex 選項(xiàng)



android {
    dexOptions {
        incremental false
        preDexLibraries = false
        jumboMode = false

    }
}

這個(gè)設(shè)備會(huì)影響所有應(yīng)用dex 的義務(wù)。

操作義務(wù)


根本的 Java 項(xiàng)目有一組有限的義務(wù)可以或許合營協(xié)作來創(chuàng)建一個(gè)輸出。
個(gè)中classes 義務(wù)是將 Java 源代碼進(jìn)行編譯的那個(gè)義務(wù)。
大年夜build.gradle經(jīng)由過程簡單地裹足本中應(yīng)用classes就能很輕易地拜訪它。這是project.tasks.classes的簡潔寫法。
在 Android 項(xiàng)目中,它會(huì)比較復(fù)雜一點(diǎn),因?yàn)榭赡苡写竽暌沽康睦淄牧x務(wù)并且他們的名字都是基于Build TypesProduct Flavors生成。 
android對象中有兩個(gè)(譯者注:喂術(shù)么感到是三個(gè)。難道是原文筆誤?)屬性就是為解決這個(gè)問題的: 
  • applicationVariants(僅實(shí)用于應(yīng)用法度榜樣插件)
  • libraryVariants(僅實(shí)用于庫插件)
  • testVariants (對兩個(gè)插件都實(shí)用)
這三個(gè)會(huì)分別返回ApplicationVariant、LibraryVariant和TestVariant的DomainObjectCollection對象。
留意,拜訪這些集合的任何一個(gè)都將觸發(fā)所有義務(wù)的生成。這意味著在拜訪這些集合之后不該該再進(jìn)行(從新)設(shè)備。
DomainObjectCollection可以對所有對象進(jìn)行直接拜訪,或經(jīng)由過程過濾器(這將會(huì)很便利)過濾。 

android.applicationVariants.each { variant ->
    ....
}

這三個(gè)variant 類都有以部屬性:
 屬性名稱  屬性類型  描述  name  String  variant的名稱。必須包管是獨(dú)一的。  description  String  仁攀類可讀的對variant的描述。  dirName  String  variant的子文件夾名稱。必須包管是獨(dú)一的??赡軙?huì)是多個(gè)文件夾,即"debug/flavor1"  baseName  String  variant的輸出的基本名稱必須包管是獨(dú)一的。  outputFile  File  variant的輸出。這是一個(gè)可讀可寫的屬性  processManifest  ProcessManifest  處理manifest的義務(wù)。  aidlCompile  AidlCompile  編譯AIDL文件的義務(wù)。  renderscriptCompile  RenderscriptCompile  編譯Renderscript文件的義務(wù)。  mergeResources  MergeResources  歸并資本的義務(wù)。  mergeAssets  MergeAssets  歸并assets的義務(wù)。  processResources  ProcessAndroidResources  處理和編譯資本的義務(wù)。  generateBuildConfig  GenerateBuildConfig  生成 BuildConfig 類的義務(wù)。  javaCompile  JavaCompile  編譯 Java 代碼的義務(wù)。  processJavaResources  Copy  處理 Java 資本的義務(wù)。  assemble  DefaultTask  variant 的assemble錨義務(wù)。
ApplicationVariant 類增長了以部屬性:
 屬性名稱  屬性類型  描述  buildType  BuildType  variant 的 BuildType。  productFlavors  List<ProductFlavor>  variant 的 ProductFlavors。老是不為null,但可所以空集合。  mergedFlavor  ProductFlavor  對android.defaultConfig 和 variant.productFlavors的歸并  signingConfig  SigningConfig  用于 variant 的 SigningConfig 對象  isSigningReady  boolean  如不雅該 variant 有簽名所需的所有信息則為true。  testVariant  BuildVariant  將會(huì)測試該variant的TestVariant  dex  Dex  將代碼生成dex的義務(wù)。如不雅variant是一個(gè)庫,這個(gè)值可認(rèn)為 null。  packageApplication  PackageApplication  打包最終的APK的義務(wù)。如不雅variant是一個(gè)庫,這個(gè)值可認(rèn)為 null。  zipAlign  ZipAlign  對apk進(jìn)行zipaligns(優(yōu)化對齊)的義務(wù)。如不雅variant是一個(gè)庫或者APK不克不及被簽名,這個(gè)值可認(rèn)為 null。  install  DefaultTask  安裝義務(wù)??烧J(rèn)為 null。  uninstall  DefaultTask  卸載義務(wù)。
LibraryVariant 類增長了以部屬性:
 屬性名稱  屬性類型  描述  buildType  BuildType  variant 的 BuildType。  mergedFlavor  ProductFlavor  DefaultConfig 的值  testVariant  BuildVariant  將會(huì)測試該variant 的 Build Variant  packageLibrary  Zip  打包成Library AAR 歸檔文件的義務(wù)。如不雅不是庫項(xiàng)目可認(rèn)為null。
TestVariant 類增長了以部屬性:
 屬性名稱  屬性類型  描述  buildType  BuildType  variant 的 BuildType。  productFlavors  List<ProductFlavor>  variant 的 ProductFlavors。老是不為null,但可所以空集合。  mergedFlavor  ProductFlavor  對android.defaultConfig 和 variant.productFlavors的歸并  signingConfig  SigningConfig  用于 variant 的 SigningConfig 對象  isSigningReady  boolean  如不雅該 variant 有簽名所需的所有信息則為true。  testedVariant  BaseVariant  經(jīng)由TestVariant測試過的BaseVariant。  dex  Dex  將代碼生成dex的義務(wù)。如不雅variant是一個(gè)庫,這個(gè)值可認(rèn)為 null。  packageApplication  PackageApplication  打包最終的APK的義務(wù)。如不雅variant是一個(gè)庫,這個(gè)值可認(rèn)為 null。  zipAlign  ZipAlign  對apk進(jìn)行zipaligns(優(yōu)化對齊)的義務(wù)。如不雅variant是一個(gè)庫或者APK不克不及被簽名,這個(gè)值可認(rèn)為 null。  install  DefaultTask  安裝義務(wù)??烧J(rèn)為 null。  uninstall  DefaultTask  卸載義務(wù)。  connectedAndroidTest  DefaultTask  在已連接的設(shè)備上運(yùn)行 android 測試的義務(wù)。  providerAndroidTest  DefaultTask  應(yīng)用擴(kuò)大 API 運(yùn)行android 測試的義務(wù)。

Android 的特定義務(wù)類型的 API。
  • ProcessManifest
    • File manifestOutputFile
  • AidlCompile
    • File sourceOutputDir
  • RenderscriptCompile
    • File sourceOutputDir
    • File resOutputDir
  • MergeResources
    • File outputDir
  • MergeAssets
    • File outputDir
  • ProcessAndroidResources
    • File manifestFile
    • File resDir
    • File assetsDir
    • File sourceOutputDir
    • File textSymbolOutputDir
    • File packageOutputFile
    • File proguardOutputFile
  • GenerateBuildConfig
    • File sourceOutputDir
  • Dex
    • File outputFolder
  • PackageApplication
    • File resourceFile
    • File dexFile
    • File javaResourceDir
    • File jniDir
    • File outputFile
      • 要修改最終輸出的文件,可以在 variant 對象上直接應(yīng)用“outputFile”(譯者注:1.0 版本經(jīng)由過程variant獲取到的是outputs,是一個(gè)List,須要經(jīng)由過程對其遍歷或取第一個(gè)元素variant.outputs[0].outputFile才能獲得outputFile對象)。
  • ZipAlign
    • File inputFile
    • File outputFile
      • 要修改最終輸出的文件,可以在 variant 對象上直接應(yīng)用“outputFile”(譯者注:1.0 版本經(jīng)由過程variant獲取到的是outputs,是一個(gè)List,須要經(jīng)由過程對其遍歷或取第一個(gè)元素variant.outputs[0].outputFile才能獲得outputFile對象)。

因?yàn)镚radle的工作道理以及Android 插件的設(shè)備方法,用于每個(gè)義務(wù)類型的API會(huì)有所限制。
起首,Gradle 想要讓義務(wù)只能設(shè)備輸入或輸出的地位和可能應(yīng)用的可選標(biāo)記。所以在這里,這些義務(wù)只能定義一些輸入或輸出。
其次,這些義務(wù)的絕大年夜多半的輸入都是有實(shí)際意義的,它們往往來自sourceSets、Build TypesPruduct Flavor的混淆值。為了保持構(gòu)建文件易于瀏覽和懂得,目標(biāo)是要閃開辟人員經(jīng)由過程DSL進(jìn)行稍微調(diào)劑就可以修改構(gòu)建,而不是要深刻義務(wù)的選項(xiàng)和輸入并且去修改它們。
此外留意到,除了 ZipAlign 義務(wù)類型,所有其他類型都須要設(shè)立私稀有據(jù)來讓它們正常運(yùn)行。這意味著弗成妙手動(dòng)創(chuàng)建這些類型的新義務(wù)。
這個(gè) API 也可能會(huì)被更改。一般情況下,當(dāng)前 API 是環(huán)繞著義務(wù)給定的輸出或輸入(如不雅可能)的人口來添加額外的處理的(如不雅須要)。迎接反饋看法,特別是那些未預(yù)知的需求。
關(guān)于 Gradle 義務(wù) (DefaultTask,JavaCompile,Copy,Zip),請參閱 Gradle 文檔。 

BuildType 和 Product Flavor 的屬性參考


即將推出。
關(guān)于 Gradle 義務(wù) (DefaultTask,JavaCompile,Copy,Zip),請參閱 Gradle 文檔。 <br4>

應(yīng)用 sourceCompatibility 1.7


經(jīng)由過程 Android KitKat (buildToolsVersion 19),你可以應(yīng)用鉆石運(yùn)算符(即<>),multi-catch,在switch語句中應(yīng)用string, try with resources等等。要做到這一點(diǎn),請將以下設(shè)備添加到您的構(gòu)建文件中:
android {
    compileSdkVersion 19
    buildToolsVersion "19.0.0"
    defaultConfig {
        minSdkVersion 7
        targetSdkVersion 19
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }
}
留意,你可以把 minSdkVersion 的值設(shè)為19之前的版本,只是你只能應(yīng)用除了try with resources之外的其他新說話特點(diǎn)。如不雅你想要應(yīng)用 try with resources,你就須要把minSdkVersion 也設(shè)為 19。
你還須要確認(rèn) Gradle 應(yīng)用JDK 1.7或更高的版本。(并且Android Gradle 插件也須要0.6.1或更高的版本。)

相關(guān)案例查看更多