Oh I forgot to add, that in my opinion it also ignores the <uses-sdk /> tag 
from main/AndroidManifest.xml.

In other words, when I have a library project which specifies <uses-sdk /> 
in it's AndroidManifest.xml file and main project which has buildType 
without it's specific AndroidManifest.xml (so default from main/ should be 
used), it also raises the same exception - <uses-sdk /> is treated as non 
existing (with default minSdkVersion = 1) and conflicts with this one from 
library's AndroidManifest.xml

M.

W dniu piątek, 2 maja 2014 00:10:03 UTC+2 użytkownik Mateusz Grzechociński 
napisał:
>
> W dniu czwartek, 1 maja 2014 17:54:12 UTC+2 użytkownik Xavier Ducrohet 
> napisał:
>
>> It looks like the minSdkVersion check is not taking into account the 
>> version injected from the build.gradle and instead relies on the one 
>> present in the manifest file. We are investigating.
>>
>
> Exactly. Waiting for any news. Let me know if you need any additional 
> testing.
>
> Matthew
>
>  
>
>>
>> On Thu, May 1, 2014 at 6:21 AM, Mateusz Grzechociński <
>> [email protected]> wrote:
>>
>>> Hi,
>>>
>>> I've just upgraded to Gradle 1.12 and Android gradle plugin v1.10. Just 
>>> out of curiosity, I also switched to new android manifest merger by 
>>> specifying:
>>>
>>> android{
>>>    useOldManifestMerger false
>>> }
>>>
>>> After switch, I encountered several problems. All but one were very 
>>> clear for me and I fixed them in a couple of minutes - duplicated 
>>> permissions, missing package names etc. Btw, I love the ${packageName} 
>>> expression to be used in intent filters etc. 
>>>
>>> The last problem I have is with merging android:minSdkVersion attribute 
>>> between my app buildTypes/flavors/dependencies.
>>>
>>> My project structure is just a standard:
>>>
>>> - root
>>> -- app (app is build to APK and has dependency to app compat library)
>>>
>>> My app module has several build types and flavours. One of the build 
>>> type and flavour configuration is Mo (flavour) Debug (buildType). In both 
>>> debug/ and mo/ folders I have a manifest files which, in debug/ adds 
>>> some additional activities to main manifest (DeveloperOptionsActivityetc) 
>>> and in mo/ adds some additional permissions for GCM for different 
>>> environment. 
>>>
>>> In build.gradle of my app module I have:
>>>
>>>  defaultConfig {
>>>         minSdkVersion 9
>>>         targetSdkVersion 19
>>>         [...]
>>>  }
>>>
>>>   buildTypes {
>>>       debug {
>>>             debuggable true
>>>             packageNameSuffix ".debug"
>>>             runProguard false
>>>       }
>>>       ...
>>>   }
>>>
>>>    productFlavors {
>>>         mo {
>>>         }
>>>         ...
>>>   }
>>>
>>> Neither my main/ nor debug/ nor /mo  AndroidManifest.xml specify 
>>> <users-sdk /> since when they do, lint says:
>>>
>>> <http://f.cl.ly/items/0x3F1y1H0u38122J1I0C/Image%202014-05-01%20at%203.06.29%20pm.png>
>>> So I removed it from all main/ and debug/ and mo/ AndroidManifest.xml.
>>>
>>> Once I did it, I see:
>>>
>>> *app:processMoDebugManifest*
>>> /Users/mateuszgrzechocinski/[...]/app/src/debug/AndroidManifest.xml:0:0 
>>> Error:
>>> uses-sdk:minSdkVersion 1 cannot be smaller than version 7 declared in 
>>> library com.android.support:appcompat-v7:19.0.1
>>> :app:processMoDebugManifest FAILED
>>>
>>> FAILURE: Build failed with an exception.
>>>
>>> * What went wrong:
>>> Execution failed for task ':app:processMoDebugManifest'.
>>> > Manifest merger failed : uses-sdk:minSdkVersion 1 cannot be smaller 
>>> than version 7 declared in library com.android.support:appcompat-v7:19.0.1
>>>  
>>> The only way to get rid of this issue it to put <uses-sdk 
>>> androidMinSdkVersion="9" /> in my debug/AndroidManifest.xml. That's not 
>>> what I want, since I'd like one, and only one place for minSdkVersionto be 
>>> set for my whole application and it's android{ 
>>> minSdkVersion 9 } in my build.gradle. Lint thinks the same, I guess.
>>>
>>> What's more interesting, putting <uses-sdk androidMinSdkVersion="9" />  
>>> in my main/ AndroidManifest.xml file doesn't change anything. Seems like 
>>> every AndroidManifest.xml variant have to have it's owns <uses-sdk />, or 
>>> am I missing something?
>>>
>>> Thanks in advance and thank you Xavier and your team for a tremendous 
>>> work!
>>>
>>> Matthew
>>>
>>>
>>>  -- 
>>> 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].
For more options, visit https://groups.google.com/d/optout.

Reply via email to