Qual é a diferença entre a versão SDK do min/versão SDK do alvo vs. versão SDK do compile SDK?
Quais são as diferenças entre" min sdk version/target sdk version "e"compile sdk version"?
Eu sei o que significa min e SDK alvo, mas o que significa a versão sdk do compile? No eclipse eu tenho min / max e alvo sdk mas no android studio há estas três configurações.
4 answers
min sdk version é o primeiro lançamento do Android SDK que a sua aplicação pode executar. Geralmente isso é por causa de um problema com as APIs anteriores, falta de funcionalidade, ou algum outro problema comportamental.
versão sdk alvo {[5] } a versão da sua aplicação foi alvo para executar. Idealmente isto é devido a algum tipo de condições de execução ótimas. Se você fosse "fazer o seu aplicativo para a versão 19" é aqui que isso seria especificado. Ele pode ser executado em lançamentos anteriores ou posteriores, mas isso é o que você estava procurando. Isto é principalmente para indicar como atual sua aplicação é para uso no mercado, etc.
compile sdk version a versão do android seu IDE (ou outros meios de compilação, suponho) usa para fazer o seu aplicativo quando você publica um .ficheiro apk. Isto é útil para testar a sua aplicação, uma vez que é uma necessidade comum de compilar o seu aplicativo à medida que o desenvolve. Como esta será a versão para compilar para um APK, será naturalmente a versão de seu lançamento. Da mesma forma, é aconselhável ter esta correspondência com a versão sdk alvo.
Não queria roubar a resposta de outra pessoa, mas espero que isto esclareça a distinção destes três termos.Min sdk version é a versão mínima do sistema operacional Android necessária para executar a sua aplicação.
A versão sdk do Alvo é a versão do Android que o seu aplicativo foi criado para executar.
Compile sdk version é a versão do Android que o build tools usa para compilar e compilar a aplicação, a fim de lançar, executar ou depurar.
normalmente a versão sdk de compilação e a a versão sdk do alvo é a mesma.
A fórmula é
MinSdkVersion
O MinSdkVersion - é um marcador que define uma versão mínima do Android na qual a aplicação será capaz de instalar. Também é usado por cotão para evitar chamar API que não existe. Também tem impacto no tempo de construção. Então você pode usar sabores de construção para substituir o minSdkVersion ao máximo durante o desenvolvimento. Ele vai ajudar a construir mais rápido usando todas as melhorias que o A equipa Android fornece-nos. Por exemplo, algumas funcionalidades Java 8 estão disponíveis apenas a partir de uma versão específica do minSdkVersion.
O TargetSdkVersion - diz que o sistema Android Liga alterações de comportamento específicas.
Bom exemplo são as permissões perigosas (de 23 API). Se você definir o targetSdkVersion para 22, sua aplicação não pede alguma permissão a um usuário em tempo de execução.
Começando no Android 8.0( nível 26 da API), todas as notificações devem ser atribuídas a um canal ou a ele não aparecerá. Em dispositivos rodando Android 7.1 (nível 25 da API) e inferior, os usuários podem gerenciar notificações em uma base por app apenas (efetivamente cada app tem apenas um canal no Android 7.1 e inferior).
CompileSdkVersion - na verdade é a versão de plataforma SDK e diz ao Gradle qual o Android SDK que usa para compilar. Quando você quer usar novas funcionalidades ou depurar .arquivos java do SDK Android você deve cuidar do compileSdkVersion. Mais um fato é o compileSdkVersion > = biblioteca de suporte version
Você pode ler mais sobre isso Aqui . Também eu recomendo que você dê uma olhada no exemplo de migraçãopara Android 8.0
Veja aqui, é melhor especificar em a versão sdk alvo a última versão lançada da API: Qual é a diferença entre o compileSdkVersion e o targetSdkVersion?