作家
登录

Gradle for Android 第四篇( 构建变体 )

作者: 来源: 2017-04-11 10:15:38 阅读 我要评论

"price" 
  •        productFlavors { 
  •            red { 
  •                flavorDimension "color" 
  •            } 
  •            blue { 
  •                flavorDimension "color" 
  •            } 
  •            free { 
  •                flavorDimension "price" 
  •            } 
  •            paid { 
  •                flavorDimension "price" 
  •            } 
  •        } 
  • 当你添加了flavor dimensions,你就须要为每个flavor添加flavorDimension,不然会提示缺点。flavorDimensions定义了不合的dimensions,当然其次序也很重要。当你归并二个不合的flavors时,他们可能有一样的设备和资本。例如上例:

    • blueFreeDebug and blueFreeRelease
    • bluePaidDebug and bluePaidRelease
    • redFreeDebug and redFreeRelease
    • redPaidDebug and redPaidRelease

    构建变体

    构建变体是构建版本和临盆版本的结合体。当你创建了一个构建版本或者临盆版本,同样的,新的变体也会被创建。举个例子,当你有debug和release版本,你创建了red和blue的临盆版本,那么变体将会有四个:

    你可以在Android studio的左下角找到它,或者经由过程VIEW|Tool Windows|Build Variants打开它。该视图列出了所有的变体,并且许可你去切换它们。改变他们将会影响到你按Run按钮。

    如不雅你没有product flavors,那么变体只是简单的包含构建版本,就算你没有定义任何构建版本,Android studio也会默认为你创建debug版本的。

    tasks

    android插件回味每一个变体创建不合的设备。一个新的Android项目会有debug和release版本,所有你可以应用assembleDebug和assembleRelease,当然当你应用assemble敕令,会二者都履行。当你添加了一个新的构建版本,新的task也会被创建。例如:

    • assembleBlue uses the blue flavor configuration and assembles both BlueRelease and BlueDebug.
    • assembleBlueDebug combines the flavor configuration with the build type configuration, and the flavor settings override the build type settings.

    Source sets

    构建变体也可以有本身的资本文件夹,举个例子,你可以有src/blueFreeDebug/java/。

    资本文件和manifest的归并

    在打包app之前,Android插件会归并main中的代码和构建的代码。当然,依附项目也可以供给额外的资本,它们也会被归并。你可能须要额外的Android权限针对debug变体。举个例子,你不想在main中申明这个权限,因为这可能导致一些问题,所以你可以添加一个额外的mainfest文件在debug的文件夹中,申明额外的权限。

    资本和mainfests的优先级是如许的:

    如不雅一个资本在main中和在flavor中定义了,那么那个在flavor中的资本竽暌剐更高的优先级。如许那个在flavor文件夹中的资本将会被打包到apk。而在依附项目申明的资本老是拥有最低优先级。

    创建构建变体

    和构建版本不合,product flavors用来为一个app创建不合版本。典范的例子是,一个app有付费和免费版。product flavors极大年夜简化了基于雷同的代码构建不合版本的app。

    gradle让处理构建变体变得轻易。

    1. android { 
    2.        buildTypes { 
    3.            debug { 

        推荐阅读

        黑客入侵:美国一城市156个报警器深夜乱响警报

      美国德克萨斯州达拉斯市官员称,因为电脑黑客入侵,达拉斯所有紧急戒备体系在夜琅绫蛆叫了90分钟阁下,这是至今出现的最大年夜范围戒备体系入侵变乱。城市应急治理主任罗克·瓦兹(R>>>详细阅读


      本文标题:Gradle for Android 第四篇( 构建变体 )

      地址:http://www.17bianji.com/lsqh/34708.html

    关键词: 探索发现

    乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

    网友点评
    自媒体专栏

    评论

    热度

    精彩导读
    栏目ID=71的表不存在(操作类型=0)