2015-10-11 21 views
5

Desidero utilizzare le schede personalizzate di Chrome sotto api 16. La mia app supporta la versione minima di SDK fino a 10 (GingerBread). Quando mi dichiaro la dipendenza customtabs in build.gradleCome utilizzare le schede personalizzate di Chrome sotto l'API 16?

dà il seguente errore:

Error:Execution failed for task ':app:processDebugManifest'. Manifest merger failed : uses-sdk:minSdkVersion 10 cannot be smaller than version 15 declared in library [com.android.support:customtabs:23.0.1] Suggestion: use tools:overrideLibrary="android.support.customtabs" to force usage

Come posso implementare un meccanismo per supportare i dispositivi che utilizzano SDK sotto api 16 con browser predefinito e soprattutto api 16 con customtabs .

risposta

8

strumenti: overrideLibrary marcatore (see here)

Un marcatore speciale che può essere utilizzato solo con dichiarazione di usi-sdk per ignorare l'importazione di una biblioteca che versione minima SDK è più recente alla versione SDK minima di tale applicazione. Senza tale indicatore, la fusione manifest fallirà. Il marcatore consentirà agli utenti di selezionare quali librerie possono essere importate ignorando la versione minima dell'SDK.

esempio, nel principale manifest Android:

<uses-sdk android:targetSdkVersion="14" android:minSdkVersion="2" 

      tools:overrideLibrary="com.example.lib1, com.example.lib2"/> 

permetterà la libreria con il seguente manifesto da importare senza errori:

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 

     package="com.example.lib1"> 
     <uses-sdk android:minSdkVersion="4" /> 
    </manifest> 
+0

il nome pakcage per le schede Chrome personalizzate è: Android. support.customtabs –

+0

correlata versione sdk nella tua domanda, quando la tua app viene eseguita su dispositivi con versione Android da 10 a 15 si bloccherà ... è necessario controllare in fase di runtime come suggerito da andreban – aorlando

4

Come menzionato nell'errore, è possibile sostituire la versione minSdk dalla libreria utilizzando il marcatore tools:overrideLibrary.

Assicurarsi di controllare SDK_INT>ICE_CREAM_SANDWICH_MR1 sul codice prima di effettuare chiamate alla libreria per evitare eccezioni in fase di esecuzione.

Quando si utilizza un sistema che non supporta le schede personalizzate, è sufficiente attivare un normale intento ACTION_VIEW.

Problemi correlati