Requisiti di progetto per Surface DuoProject requirements for Surface Duo

Il progetto e l'ambiente di sviluppo devono soddisfare questi requisiti minimi per compilare e distribuire applicazioni Android per Surface Duo.Your project and development environment should meet these minimum requirements to build and deploy Android applications for the Surface Duo.

Livello APIAPI level

ImpostazioneSetting Livello APIAPI Level
minSdkVersion 21 (Android 5/Lollipop) o versioni successive21 (Android 5/Lollipop) or newer
targetSdkVersion 29 (Android 10/Q) o versioni successive29 (Android 10/Q) or newer
compileSdkVersion 29 (Android 10/Q) o versioni successive29 (Android 10/Q) or newer

Google Play dispone di un requisito livello API di destinazione, da novembre 2020 gli aggiornamenti delle app devono essere destinati ad Android 10 (livello API 29) o versioni successive.Google Play has a target API level requirement, from November 2020 app updates must target Android 10 (API level 29) or higher.

Stdlib di KotlinKotlin stdlib

Le librerie a doppio schermo di Surface Duo sono compilate con Kotlin, pertanto le applicazioni basate su Java dovranno aggiungere la dipendenza stdlib di Kotlin.The Surface Duo dual-screen libraries are built with Kotlin, so Java-based applications will need to add the Kotlin stdlib dependency.

È consigliata la versione stabile più recente di stdlib.The latest stable version of the stdlib is recommended.

Android StudioAndroid Studio

Usare la versione più recente di Android Studio come consigliato da Google.Please use the latest version of Android Studio as recommended by Google. Questa versione include l'aggiornamento del plug-in gradle che funziona con la versione installata di Android Studio.This includes updating the gradle plugin that works with the installed version of Android Studio.

Risoluzione dei problemiTroubleshooting

Risoluzione dei conflittiResolving conflicts

Se l'app usa altre librerie con un conflitto (stessa libreria ma versione diversa), è possibile escludere e/o forzare una versione di libreria specifica da usare:If your app uses other libraries that has a conflict (same library but different version), you can exclude and/or force a specific library version to be used:

Escludere un componente specifico (ad esempio, Surface Duo SDK usa foo 1.2.0 e l'app usa foo 1.0.0):Exclude a specific component (e.g. the Surface Duo SDK uses foo 1.2.0 and your app uses foo 1.0.0):

compile ('org:foo:1.2.0'){
    exclude group: 'org.foo', module:foo-bar'
}

Forzare l'uso di una versione specifica (ad esempio, Surface Duo SDK usa bar 1.0.0 e l'app usa bar 2.0.0):Force to use a specific version (e.g. the Surface Duo SDK uses bar 1.0.0 and your app uses bar 2.0.0):

android {
    configurations.all {
        resolutionStrategy.force 'org:foo:bar-2.0.0'
    }
}