initWith()办法创建了一个新的版本的同时,复制所有存在的构建版本,类似持续。我们也可以复写该存在版本的所有属性。
Source sets
当你创建了一个新的构建版本,Gradle也创建了新的source set。默认情况下,该文件夹不会主动为你创建,所有你须要手工创建。
创建本身的构建版本
留意:当你添加一个Java类的时刻,你须要知道以下过程,当你添加了CustomLogic.java到staging版本,你可以添加雷同的类到debug和release版本,然则不克不及添加到main版本。如不雅你添加了,会抛出异常。
当应用不合的source sets的时刻,资本文件的处理须要特别的方法。Drawables和layout文件将会复写在main中的有名文件,然则values文件下的资本不会。gradle将会把这些资本连同main琅绫擎的资本一路归并。
举个例子,当你在main中创建了一个srings.xml的时刻:
- <resources>
- <string name="app_name">TypesAndFlavors</string>
- <string name="hello_world">Hello world!</string>
- </resources>
当你在你的staing版本也添加了rings.xml:
【编辑推荐】
- Android上岸页面仿拉钩动效,你总会须要它!
- Gradle for Android第一篇( 大年夜Gradle和AS开端 )
- Gradle for Android第二篇( Build.gradle入门 )
- Android Studio jni开辟入门——看我就够了!
- Gradle for Android 第三篇( 依附治理 )
- <resources>
- <string name="app_name">TypesAndFlavors STAGING</string>
- </resources>
- <resources>
- <string name="app_name">TypesAndFlavors STAGING</string>
- <string name="hello_world">Hello world!</string>
- </resources>
manifest也和value文件下的文件一样。如不雅你为你的构建版本创建了一个manifest文件,那么你不须要去拷贝在main文件下的manifest文件,你须要做的是添加标签。Android插件将会为你归并它们。
我们将在会之后的┞仿节讲到归并的更多细节。
依附包
每一个构建版本都有本身的依附包,gradle主动为每一个构建的版本创建不合的依附设备。如不雅你想为debug版本添加一个logging框架,你可以这么做:
- dependencies {
- compile fileTree(dir: 'libs', include: ['*.jar'])
- compile 'com.android.support:appcompat-v7:22.2.0'
- debugCompile 'de.mindpipe.android:android-logging-log4j:1.0.3'
- }
你可以结合不合的构建版本着不合的构建设备,就像这种方法,这让你的不合版本的不合依附包成为可能。
product flavors
如不雅你不肯定你是否须要一个新的构建版本或者product flavors,你应当问你本身,你是否须要内部应用和外部应用的apk。如不雅你须要一个完全新的app去宣布,和之前的版本完全隔分开,那么你须要product flavors。不然你只是须要构建版本。
- app
- └── src
- ├── debug
- │ ├── java
推荐阅读
美国德克萨斯州达拉斯市官员称,因为电脑黑客入侵,达拉斯所有紧急戒备体系在夜琅绫蛆叫了90分钟阁下,这是至今出现的最大年夜范围戒备体系入侵变乱。城市应急治理主任罗克·瓦兹(R>>>详细阅读
本文标题:Gradle for Android 第四篇( 构建变体 )
地址:http://www.17bianji.com/lsqh/34708.html
1/2 1

网友点评
精彩导读
科技快报
品牌展示