android {
compileSdkVersion 17
buildToolsVersion "19.0.3"
buildTypes{
debug{
packageNameSuffix ".debug"
}
internal.initWith(buildTypes.debug)
internal{
packageNameSuffix ".internal"
}
}
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
}
debug {
manifest.srcFile 'debug/AndroidManifest.xml'
res.srcDirs = ['debug/res']
}
internal{
manifest.srcFile 'internal/AndroidManifest.xml'
res.srcDirs = ['internal/res']
}
}
defaultConfig {
minSdkVersion 15
targetSdkVersion 19
versionName "dev"
versionCode 1
}
* android.applicationVariants.all { variant ->*
* def oldFile = variant.packageApplication.outputFile;*
* def newFile = appName + "-" + variant.name
<http://variant.name/> + "-v" + variant.config.versionName + "(" +
variant.config.versionCode + ")"+ ".apk"*
* variant.packageApplication.outputFile = new File(oldFile.parent,
newFile)*
* }*
}
Note : i changed the it to ,
android.variantFilter { variant ->
flavor = variant.getDefaultConfig().versionName
code = variant.getDefaultConfig().versionCode
type = variant.getBuildType().name
def oldFile = variant.packageApplication.outputFile;
def newFile = appName + "-" + flavor + "-v" + type+ "(" +
code +")"+ ".apk"
variant.outputFile = new File(oldFile.parent, newFile)
}
But error on oldFile = variant.packageApplication.outputFile;
i tried with variant.outPath etc.. no such property.
Thanks in Advance!
On Thursday, 20 March 2014 21:26:05 UTC+5:30, Xavier Ducrohet wrote:
>
> The variant filter only indicates whether the variant will be created. It
> should not impact modifying the variant itself.
>
> You can provide you build.gradle so that we can look at it? We only need
> the variantFilter closure and the applicationVariants.all closure.
>
>
> On Thu, Mar 20, 2014 at 6:42 AM, <[email protected] <javascript:>>wrote:
>
>> Hi Diego,
>>
>> Thanks, i got the version name, v.code and flavour with variantFilter.
>> Also, earlier i user like
>>
>> def oldFile = variant.packageApplication.outputFile;
>> def newFile = appName + "-" + variant.name + "-v" +
>> variant.config.versionName + ".apk" ( this will change with the new values
>> as per variantFilter)
>> variant.packageApplication.outputFile = new File(oldFile.parent,
>> newFile)
>>
>> But now i am unable to get the .outputFile with new variantFilter.
>> Could you please suggest me a solution for this ?
>>
>> On Wednesday, 12 March 2014 15:53:21 UTC+5:30, Diego Costantini wrote:
>>>
>>> Hi Xavier,
>>> thanks for the suggestion, but when I apply it and sync gradle, it gets
>>> stuck on Resolve dependencies 'detachedConfiguration1' and I need to
>>> restart AS.
>>>
>>> BTW: is there a less painful way to stop (hanging) operations in AS?
>>>
>>> On Tuesday, March 11, 2014 6:32:42 PM UTC+1, Xavier Ducrohet wrote:
>>>>
>>>> ah yes of course. defaultConfig is the same for all variants. I put it
>>>> in there but it really is not needed since you have access to it through
>>>> the global project object. I should just remove it.
>>>>
>>>> For the flavors, you don't need to loop really. The number of flavors
>>>> is the same as the number of flavor groups you have. so you could just do
>>>>
>>>> if (*variant.getFlavors().get(0).name* != "flavorA" && type ==
>>>> "debugFlavorAQA")
>>>>
>>>>
>>>> On Tue, Mar 11, 2014 at 9:51 AM, Diego Costantini <
>>>> [email protected]> wrote:
>>>>
>>>>> solved the following way :)
>>>>>
>>>>> variantFilter { variant ->
>>>>> type = variant.getBuildType().name
>>>>> variant.getFlavors().each { flavor ->
>>>>> if (flavor.name != "flavorA" && type == "debugFlavorAQA")
>>>>> {
>>>>> variant.setIgnore(true)
>>>>>
>>>>> }
>>>>> }
>>>>> }
>>>>>
>>>>> On Tuesday, March 11, 2014 12:18:35 PM UTC+1, Diego Costantini wrote:
>>>>>>
>>>>>> Hi guys,
>>>>>> in latest plugin we can use variantFilter.
>>>>>>
>>>>>> I am not sure I am using it wrong or there is a bug.
>>>>>>
>>>>>> variantFilter { variant ->
>>>>>> flavor = variant.getDefaultConfig().
>>>>>> versionName
>>>>>> println "flavor $flavor"
>>>>>> type = variant.getBuildType().name
>>>>>> println "type $type"
>>>>>> if (flavor == "vanilla" && type == "release") {
>>>>>> variant.setIgnore(true)
>>>>>> }
>>>>>> }
>>>>>>
>>>>>> I am not sure I should use getDefaultconfig() because I always get
>>>>>> vanilla rather than each flavor.
>>>>>> Build types are looped correctly instead.
>>>>>>
>>>>>> 3 flavors and 3 types (I expect 9 couples but there are 8), this is
>>>>>> the output:
>>>>>> flavor vanilla
>>>>>> type debug
>>>>>>
>>>>>> flavor vanilla
>>>>>> type release
>>>>>>
>>>>>> flavor vanilla
>>>>>> type debugQA
>>>>>>
>>>>>> flavor vanilla
>>>>>> type debug
>>>>>>
>>>>>> flavor vanilla
>>>>>> type release
>>>>>>
>>>>>> flavor vanilla
>>>>>> type debugQA
>>>>>>
>>>>>> flavor vanilla
>>>>>> type debug
>>>>>>
>>>>>> flavor vanilla
>>>>>> type release
>>>>>>
>>>>> --
>>>>> You received this message because you are subscribed to the Google
>>>>> Groups "adt-dev" group.
>>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>>> an email to [email protected].
>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Xavier Ducrohet
>>>> Android SDK Tech Lead
>>>> Google Inc.
>>>> http://developer.android.com | http://tools.android.com
>>>>
>>>> Please do not send me questions directly. Thanks!
>>>>
>>> --
>> You received this message because you are subscribed to the Google Groups
>> "adt-dev" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected] <javascript:>.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>
>
> --
> Xavier Ducrohet
> Android SDK Tech Lead
> Google Inc.
> http://developer.android.com | http://tools.android.com
>
> Please do not send me questions directly. Thanks!
>
--
You received this message because you are subscribed to the Google Groups
"adt-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.