BaseHostJUnit4Test

public abstract class BaseHostJUnit4Test
extends Object implements IAbiReceiver, ITestInformationReceiver

java.lang.Object
   ↳ com.android.tradefed.testtype.junit4.BaseHostJUnit4Test


Classe de teste básica para executar testes de estilo JUnit4 do host. Essa classe oferece suporte para instalar, executar e limpar testes de instrumentação do lado do host. Essa aula é compatível com vários dispositivos. Deve ser a única fonte de verdade para executar testes de instrumentação do lado do host para evitar utilitários e classes de base duplicados.

Resumo

Construtores públicos

BaseHostJUnit4Test()

Métodos públicos

final void autoTearDown()

Desmontagem automática de todos os APKs instalados.

final IAbi getAbi()
final IBuildInfo getBuild()
final ITestDevice getDevice()
final IInvocationContext getInvocationContext()
final TestRunResult getLastDeviceRunResults()

Retorna o TestRunResult resultante do último runDeviceTests executado.

final List<ITestDevice> getListDevices()
TestInformation getTestInformation()
boolean hasDeviceFeature(String feature)
final void installPackage(DeviceTestRunOptions options)

Instale um APK com base no DeviceTestRunOptions no dispositivo.

final void installPackage(String apkFileName, String... options)

Instala um APK usando o nome dele no dispositivo.

final void installPackage(ITestDevice device, String apkFileName, String... options)

Instala um APK usando o nome dele em um determinado dispositivo.

final void installPackageAsUser(ITestDevice device, String apkFileName, boolean grantPermission, int userId, String... options)

Instala um APK com um nome específico para um usuário em um dispositivo.

final void installPackageAsUser(String apkFileName, boolean grantPermission, int userId, String... options)

Instale um APK com um nome específico para um usuário.

final boolean isPackageInstalled(String pkg)

Verifica se um pacote com um determinado nome está instalado no dispositivo.

final boolean isPackageInstalled(ITestDevice device, String pkg)

Verifica se um pacote com um determinado nome está instalado no dispositivo.

final boolean runDeviceTests(ITestDevice device, String runner, String pkgName, String testClassName, String testMethodName, Integer userId, Long testTimeoutMs, Long maxTimeToOutputMs, Long maxInstrumentationTimeoutMs, boolean checkResults, boolean isHiddenApiCheckDisabled, boolean isTestApiCheckDisabled, boolean isIsolatedStorageDisabled, boolean isWindowAnimationDisabled, boolean isRestartDisabled, boolean instrumentInPcc, Map<String, String> instrumentationArgs, List<ITestLifeCycleReceiver> extraListeners)

Método para executar um pacote de instrumentação instalado.

final boolean runDeviceTests(ITestDevice device, String runner, String pkgName, String testClassName, String testMethodName, Integer userId, Long testTimeoutMs, Long maxTimeToOutputMs, Long maxInstrumentationTimeoutMs, boolean checkResults, boolean isHiddenApiCheckDisabled, boolean isTestApiCheckDisabled, boolean isIsolatedStorageDisabled, boolean isWindowAnimationDisabled, Map<String, String> instrumentationArgs, List<ITestLifeCycleReceiver> extraListeners)

Método para executar um pacote de instrumentação instalado.

final boolean runDeviceTests(ITestDevice device, String runner, String pkgName, String testClassName, String testMethodName, Integer userId, Long testTimeoutMs, Long maxTimeToOutputMs, Long maxInstrumentationTimeoutMs, boolean checkResults, boolean isHiddenApiCheckDisabled, Map<String, String> instrumentationArgs)

Método para executar um pacote de instrumentação instalado.

final boolean runDeviceTests(ITestDevice device, String pkgName, String testClassName, String testMethodName, Integer userId, Long testTimeoutMs)

Método para executar um pacote de instrumentação instalado.

final boolean runDeviceTests(ITestDevice device, String pkgName, String testClassName, String testMethodName, Long testTimeoutMs, Long maxTimeToOutputMs, Long maxInstrumentationTimeoutMs)

Método para executar um pacote de instrumentação instalado.

final boolean runDeviceTests(ITestDevice device, String pkgName, String testClassName, String testMethodName, Long testTimeoutMs)

Método para executar um pacote de instrumentação instalado.

final boolean runDeviceTests(String pkgName, String testClassName, String testMethodName)

Método para executar um pacote de instrumentação instalado.

final boolean runDeviceTests(DeviceTestRunOptions options)

Executa a instrumentação com base nas informações em DeviceTestRunOptions.

final boolean runDeviceTests(ITestDevice device, String runner, String pkgName, String testClassName, String testMethodName, Integer userId, Long testTimeoutMs, Long maxTimeToOutputMs, Long maxInstrumentationTimeoutMs, boolean checkResults, boolean isHiddenApiCheckDisabled, boolean isTestApiCheckDisabled, boolean isIsolatedStorageDisabled, Map<String, String> instrumentationArgs, List<ITestLifeCycleReceiver> extraListeners)

Método para executar um pacote de instrumentação instalado.

final boolean runDeviceTests(ITestDevice device, String pkgName, String testClassName, String testMethodName)

Método para executar um pacote de instrumentação instalado.

final boolean runDeviceTests(String pkgName, String testClassName, Integer userId, Long testTimeoutMs)

Método para executar um pacote de instrumentação instalado.

final boolean runDeviceTests(String pkgName, String testClassName)

Método para executar um pacote de instrumentação instalado.

final boolean runDeviceTests(String pkgName, String testClassName, Long testTimeoutMs)

Método para executar um pacote de instrumentação instalado.

final boolean runDeviceTests(String runner, String pkgName, String testClassName, String testMethodName)

Método para executar um pacote de instrumentação instalado.

final void setAbi(IAbi abi)
final void setTestInformation(TestInformation testInformation)
final String uninstallPackage(String pkgName)

Desinstala um pacote no dispositivo.

final String uninstallPackage(ITestDevice device, String pkgName)

Desinstala um pacote no dispositivo.

Construtores públicos

BaseHostJUnit4Test

public BaseHostJUnit4Test ()

Métodos públicos

autoTearDown

public final void autoTearDown ()

Desmontagem automática de todos os APKs instalados. Isso vai desinstalar todos os APKs do dispositivo em que foram instalados.

Gera
DeviceNotAvailableException

getAbi

public final IAbi getAbi ()

Retorna
IAbi

getBuild

public final IBuildInfo getBuild ()

Retorna
IBuildInfo

getDevice

public final ITestDevice getDevice ()

Retorna
ITestDevice

getInvocationContext

public final IInvocationContext getInvocationContext ()

Retorna
IInvocationContext

getLastDeviceRunResults

public final TestRunResult getLastDeviceRunResults ()

Retorna o TestRunResult resultante do último runDeviceTests executado. Ou nulo se não houver resultados disponíveis.

Retorna
TestRunResult

getListDevices

public final List<ITestDevice> getListDevices ()

Retorna
List<ITestDevice>

getTestInformation

public TestInformation getTestInformation ()

Retorna
TestInformation

hasDeviceFeature

public boolean hasDeviceFeature (String feature)

Parâmetros
feature String

Retorna
boolean

Gera
DeviceNotAvailableException

installPackage

public final void installPackage (DeviceTestRunOptions options)

Instale um APK com base no DeviceTestRunOptions no dispositivo. O APK será limpo automaticamente.

Parâmetros
options DeviceTestRunOptions: as opções de instalação do pacote.

Gera
DeviceNotAvailableException
TargetSetupError

installPackage

public final void installPackage (String apkFileName, 
                String... options)

Instala um APK usando o nome dele no dispositivo. O APK será limpo automaticamente.

Parâmetros
apkFileName String: o nome do arquivo APK.

options String: opções extras fornecidas ao comando de instalação.

Gera
DeviceNotAvailableException
TargetSetupError

installPackage

public final void installPackage (ITestDevice device, 
                String apkFileName, 
                String... options)

Instala um APK usando o nome dele em um determinado dispositivo. O APK será limpo automaticamente.

Parâmetros
device ITestDevice: o ITestDevice em que o APK será instalado.

apkFileName String: o nome do arquivo APK.

options String: opções extras fornecidas ao comando de instalação.

Gera
DeviceNotAvailableException
TargetSetupError

installPackageAsUser

public final void installPackageAsUser (ITestDevice device, 
                String apkFileName, 
                boolean grantPermission, 
                int userId, 
                String... options)

Instala um APK com um nome específico para um usuário em um dispositivo.

Parâmetros
device ITestDevice: o ITestDevice em que o APK será instalado.

apkFileName String: o nome do arquivo APK.

grantPermission boolean: se a flag de concessão de permissão será transmitida ao instalar o APK.

userId int: o ID do usuário em que o APK será instalado.

options String: opções extras fornecidas ao comando de instalação.

Gera
DeviceNotAvailableException
TargetSetupError

installPackageAsUser

public final void installPackageAsUser (String apkFileName, 
                boolean grantPermission, 
                int userId, 
                String... options)

Instale um APK com um nome específico para um usuário.

Parâmetros
apkFileName String: o nome do arquivo APK.

grantPermission boolean: se a flag de concessão de permissão será transmitida ao instalar o APK.

userId int: o ID do usuário em que o APK será instalado.

options String: opções extras fornecidas ao comando de instalação.

Gera
DeviceNotAvailableException
TargetSetupError

isPackageInstalled

public final boolean isPackageInstalled (String pkg)

Verifica se um pacote com um determinado nome está instalado no dispositivo.

Parâmetros
pkg String: o nome do pacote

Retorna
boolean verdadeiro se o pacote for encontrado no dispositivo

Gera
DeviceNotAvailableException

isPackageInstalled

public final boolean isPackageInstalled (ITestDevice device, 
                String pkg)

Verifica se um pacote com um determinado nome está instalado no dispositivo.

Parâmetros
device ITestDevice: o dispositivo que vai desinstalar o pacote.

pkg String: o nome do pacote

Retorna
boolean verdadeiro se o pacote for encontrado no dispositivo

Gera
DeviceNotAvailableException

runDeviceTests

public final boolean runDeviceTests (ITestDevice device, 
                String runner, 
                String pkgName, 
                String testClassName, 
                String testMethodName, 
                Integer userId, 
                Long testTimeoutMs, 
                Long maxTimeToOutputMs, 
                Long maxInstrumentationTimeoutMs, 
                boolean checkResults, 
                boolean isHiddenApiCheckDisabled, 
                boolean isTestApiCheckDisabled, 
                boolean isIsolatedStorageDisabled, 
                boolean isWindowAnimationDisabled, 
                boolean isRestartDisabled, 
                boolean instrumentInPcc, 
                Map<String, String> instrumentationArgs, 
                List<ITestLifeCycleReceiver> extraListeners)

Método para executar um pacote de instrumentação instalado. Use getLastDeviceRunResults() logo depois para conferir os detalhes dos resultados.

Parâmetros
device ITestDevice: o dispositivo em que a instrumentação será executada.

runner String

pkgName String: o nome do pacote a ser executado.

testClassName String: o nome da classe de teste a ser executada.

testMethodName String: o nome do método de teste na classe a ser executada.

userId Integer: o ID do usuário para executar o teste. Pode ser nulo.

testTimeoutMs Long: o tempo limite em milissegundos a ser aplicado a cada caso de teste.

maxTimeToOutputMs Long: o tempo limite máximo que o teste tem para começar a gerar algo.

maxInstrumentationTimeoutMs Long: o tempo limite máximo para a conclusão da instrumentação completa.

checkResults boolean: se os resultados são verificados quanto a falhas.

isHiddenApiCheckDisabled boolean: se devemos desativar a verificação de API oculta.

isTestApiCheckDisabled boolean: se devemos ou não desativar a verificação da API de teste.

isIsolatedStorageDisabled boolean: se devemos ou não desativar o armazenamento isolado.

isWindowAnimationDisabled boolean: se a animação da janela deve ser desativada ou não.

isRestartDisabled boolean

instrumentInPcc boolean

instrumentationArgs Map: argumentos a serem transmitidos para a instrumentação.

extraListeners List

Retorna
boolean True se for bem-sucedido. Caso contrário, retorna "falso".

Gera
DeviceNotAvailableException

runDeviceTests

public final boolean runDeviceTests (ITestDevice device, 
                String runner, 
                String pkgName, 
                String testClassName, 
                String testMethodName, 
                Integer userId, 
                Long testTimeoutMs, 
                Long maxTimeToOutputMs, 
                Long maxInstrumentationTimeoutMs, 
                boolean checkResults, 
                boolean isHiddenApiCheckDisabled, 
                boolean isTestApiCheckDisabled, 
                boolean isIsolatedStorageDisabled, 
                boolean isWindowAnimationDisabled, 
                Map<String, String> instrumentationArgs, 
                List<ITestLifeCycleReceiver> extraListeners)

Método para executar um pacote de instrumentação instalado. Use getLastDeviceRunResults() logo depois para conferir os detalhes dos resultados.

Parâmetros
device ITestDevice: o dispositivo em que a instrumentação será executada.

runner String

pkgName String: o nome do pacote a ser executado.

testClassName String: o nome da classe de teste a ser executada.

testMethodName String: o nome do método de teste na classe a ser executada.

userId Integer: o ID do usuário para executar o teste. Pode ser nulo.

testTimeoutMs Long: o tempo limite em milissegundos a ser aplicado a cada caso de teste.

maxTimeToOutputMs Long: o tempo limite máximo que o teste tem para começar a gerar algo.

maxInstrumentationTimeoutMs Long: o tempo limite máximo para a conclusão da instrumentação completa.

checkResults boolean: se os resultados são verificados quanto a falhas.

isHiddenApiCheckDisabled boolean: se devemos desativar a verificação de API oculta.

isTestApiCheckDisabled boolean: se devemos ou não desativar a verificação da API de teste.

isIsolatedStorageDisabled boolean: se devemos ou não desativar o armazenamento isolado.

isWindowAnimationDisabled boolean: se a animação da janela deve ser desativada ou não.

instrumentationArgs Map: argumentos a serem transmitidos para a instrumentação.

extraListeners List

Retorna
boolean True se for bem-sucedido. Caso contrário, retorna "falso".

Gera
DeviceNotAvailableException

runDeviceTests

public final boolean runDeviceTests (ITestDevice device, 
                String runner, 
                String pkgName, 
                String testClassName, 
                String testMethodName, 
                Integer userId, 
                Long testTimeoutMs, 
                Long maxTimeToOutputMs, 
                Long maxInstrumentationTimeoutMs, 
                boolean checkResults, 
                boolean isHiddenApiCheckDisabled, 
                Map<String, String> instrumentationArgs)

Método para executar um pacote de instrumentação instalado. Use getLastDeviceRunResults() logo depois para conferir os detalhes dos resultados.

Parâmetros
device ITestDevice: o dispositivo em que a instrumentação será executada.

runner String

pkgName String: o nome do pacote a ser executado.

testClassName String: o nome da classe de teste a ser executada.

testMethodName String: o nome do método de teste na classe a ser executada.

userId Integer: o ID do usuário para executar o teste. Pode ser nulo.

testTimeoutMs Long: o tempo limite em milissegundos a ser aplicado a cada caso de teste.

maxTimeToOutputMs Long: o tempo limite máximo que o teste tem para começar a gerar algo.

maxInstrumentationTimeoutMs Long: o tempo limite máximo para a conclusão da instrumentação completa.

checkResults boolean: se os resultados são verificados quanto a falhas.

isHiddenApiCheckDisabled boolean: se devemos desativar a verificação de API oculta.

instrumentationArgs Map: argumentos a serem transmitidos para a instrumentação.

Retorna
boolean True se for bem-sucedido. Caso contrário, retorna "falso".

Gera
DeviceNotAvailableException

runDeviceTests

public final boolean runDeviceTests (ITestDevice device, 
                String pkgName, 
                String testClassName, 
                String testMethodName, 
                Integer userId, 
                Long testTimeoutMs)

Método para executar um pacote de instrumentação instalado. Use getLastDeviceRunResults() logo depois para conferir os detalhes dos resultados.

Parâmetros
device ITestDevice: o dispositivo em que a instrumentação será executada.

pkgName String: o nome do pacote a ser executado.

testClassName String: o nome da classe de teste a ser executada.

testMethodName String: o nome do método de teste na classe a ser executada.

userId Integer: o ID do usuário para executar o teste. Pode ser nulo.

testTimeoutMs Long: o tempo limite em milissegundos a ser aplicado a cada caso de teste.

Retorna
boolean True se for bem-sucedido. Caso contrário, retorna "falso".

Gera
DeviceNotAvailableException

runDeviceTests

public final boolean runDeviceTests (ITestDevice device, 
                String pkgName, 
                String testClassName, 
                String testMethodName, 
                Long testTimeoutMs, 
                Long maxTimeToOutputMs, 
                Long maxInstrumentationTimeoutMs)

Método para executar um pacote de instrumentação instalado. Use getLastDeviceRunResults() logo depois para conferir os detalhes dos resultados.

Parâmetros
device ITestDevice: o dispositivo em que a instrumentação será executada.

pkgName String: o nome do pacote a ser executado.

testClassName String: o nome da classe de teste a ser executada.

testMethodName String: o nome do método de teste na classe a ser executada.

testTimeoutMs Long: o tempo limite em milissegundos a ser aplicado a cada caso de teste.

maxTimeToOutputMs Long: o tempo limite máximo que o teste tem para começar a gerar algo.

maxInstrumentationTimeoutMs Long: o tempo limite máximo para a conclusão da instrumentação completa.

Retorna
boolean True se for bem-sucedido. Caso contrário, retorna "falso".

Gera
DeviceNotAvailableException

runDeviceTests

public final boolean runDeviceTests (ITestDevice device, 
                String pkgName, 
                String testClassName, 
                String testMethodName, 
                Long testTimeoutMs)

Método para executar um pacote de instrumentação instalado. Use getLastDeviceRunResults() logo depois para conferir os detalhes dos resultados.

Parâmetros
device ITestDevice: o dispositivo em que a instrumentação será executada.

pkgName String: o nome do pacote a ser executado.

testClassName String: o nome da classe de teste a ser executada.

testMethodName String: o nome do método de teste na classe a ser executada.

testTimeoutMs Long: o tempo limite em milissegundos a ser aplicado a cada caso de teste.

Retorna
boolean True se for bem-sucedido. Caso contrário, retorna "falso".

Gera
DeviceNotAvailableException

runDeviceTests

public final boolean runDeviceTests (String pkgName, 
                String testClassName, 
                String testMethodName)

Método para executar um pacote de instrumentação instalado. Use getLastDeviceRunResults() logo depois para conferir os detalhes dos resultados.

Parâmetros
pkgName String: o nome do pacote a ser executado.

testClassName String: o nome da classe de teste a ser executada.

testMethodName String: o nome do método de teste na classe a ser executada.

Retorna
boolean True se for bem-sucedido. Caso contrário, retorna "falso".

Gera
DeviceNotAvailableException

runDeviceTests

public final boolean runDeviceTests (DeviceTestRunOptions options)

Executa a instrumentação com base nas informações em DeviceTestRunOptions.

Parâmetros
options DeviceTestRunOptions: o DeviceTestRunOptions que impulsiona a configuração da instrumentação.

Retorna
boolean True se for bem-sucedido. Caso contrário, retorna "falso".

Gera
com.android.tradefed.device.DeviceNotAvailableException
DeviceNotAvailableException

runDeviceTests

public final boolean runDeviceTests (ITestDevice device, 
                String runner, 
                String pkgName, 
                String testClassName, 
                String testMethodName, 
                Integer userId, 
                Long testTimeoutMs, 
                Long maxTimeToOutputMs, 
                Long maxInstrumentationTimeoutMs, 
                boolean checkResults, 
                boolean isHiddenApiCheckDisabled, 
                boolean isTestApiCheckDisabled, 
                boolean isIsolatedStorageDisabled, 
                Map<String, String> instrumentationArgs, 
                List<ITestLifeCycleReceiver> extraListeners)

Método para executar um pacote de instrumentação instalado. Use getLastDeviceRunResults() logo depois para conferir os detalhes dos resultados.

Parâmetros
device ITestDevice: o dispositivo em que a instrumentação será executada.

runner String

pkgName String: o nome do pacote a ser executado.

testClassName String: o nome da classe de teste a ser executada.

testMethodName String: o nome do método de teste na classe a ser executada.

userId Integer: o ID do usuário para executar o teste. Pode ser nulo.

testTimeoutMs Long: o tempo limite em milissegundos a ser aplicado a cada caso de teste.

maxTimeToOutputMs Long: o tempo limite máximo que o teste tem para começar a gerar algo.

maxInstrumentationTimeoutMs Long: o tempo limite máximo para a conclusão da instrumentação completa.

checkResults boolean: se os resultados são verificados quanto a falhas.

isHiddenApiCheckDisabled boolean: se devemos desativar a verificação de API oculta.

isTestApiCheckDisabled boolean: se devemos ou não desativar a verificação da API de teste.

isIsolatedStorageDisabled boolean: se devemos ou não desativar o armazenamento isolado.

instrumentationArgs Map: argumentos a serem transmitidos para a instrumentação.

extraListeners List

Retorna
boolean True se for bem-sucedido. Caso contrário, retorna "falso".

Gera
DeviceNotAvailableException

runDeviceTests

public final boolean runDeviceTests (ITestDevice device, 
                String pkgName, 
                String testClassName, 
                String testMethodName)

Método para executar um pacote de instrumentação instalado. Use getLastDeviceRunResults() logo depois para conferir os detalhes dos resultados.

Parâmetros
device ITestDevice: o dispositivo em que a instrumentação será executada.

pkgName String: o nome do pacote a ser executado.

testClassName String: o nome da classe de teste a ser executada.

testMethodName String: o nome do método de teste na classe a ser executada.

Retorna
boolean True se for bem-sucedido. Caso contrário, retorna "falso".

Gera
DeviceNotAvailableException

runDeviceTests

public final boolean runDeviceTests (String pkgName, 
                String testClassName, 
                Integer userId, 
                Long testTimeoutMs)

Método para executar um pacote de instrumentação instalado. Use getLastDeviceRunResults() logo depois para conferir os detalhes dos resultados.

Parâmetros
pkgName String: o nome do pacote a ser executado.

testClassName String: o nome da classe de teste a ser executada.

userId Integer: o ID do usuário para executar o teste. Pode ser nulo.

testTimeoutMs Long: o tempo limite em milissegundos a ser aplicado a cada caso de teste.

Retorna
boolean True se for bem-sucedido. Caso contrário, retorna "falso".

Gera
DeviceNotAvailableException

runDeviceTests

public final boolean runDeviceTests (String pkgName, 
                String testClassName)

Método para executar um pacote de instrumentação instalado. Use getLastDeviceRunResults() logo depois para conferir os detalhes dos resultados.

Parâmetros
pkgName String: o nome do pacote a ser executado.

testClassName String: o nome da classe de teste a ser executada.

Retorna
boolean True se for bem-sucedido. Caso contrário, retorna "falso".

Gera
DeviceNotAvailableException

runDeviceTests

public final boolean runDeviceTests (String pkgName, 
                String testClassName, 
                Long testTimeoutMs)

Método para executar um pacote de instrumentação instalado. Use getLastDeviceRunResults() logo depois para conferir os detalhes dos resultados.

Parâmetros
pkgName String: o nome do pacote a ser executado.

testClassName String: o nome da classe de teste a ser executada.

testTimeoutMs Long: o tempo limite em milissegundos a ser aplicado a cada caso de teste.

Retorna
boolean True se for bem-sucedido. Caso contrário, retorna "falso".

Gera
DeviceNotAvailableException

runDeviceTests

public final boolean runDeviceTests (String runner, 
                String pkgName, 
                String testClassName, 
                String testMethodName)

Método para executar um pacote de instrumentação instalado. Use getLastDeviceRunResults() logo depois para conferir os detalhes dos resultados.

Parâmetros
runner String: o executor de instrumentação a ser usado.

pkgName String: o nome do pacote a ser executado.

testClassName String: o nome da classe de teste a ser executada.

testMethodName String: o nome do método de teste na classe a ser executada.

Retorna
boolean True se for bem-sucedido. Caso contrário, retorna "falso".

Gera
DeviceNotAvailableException

setAbi

public final void setAbi (IAbi abi)

Parâmetros
abi IAbi

setTestInformation

public final void setTestInformation (TestInformation testInformation)

Parâmetros
testInformation TestInformation

uninstallPackage

public final String uninstallPackage (String pkgName)

Desinstala um pacote no dispositivo.

Parâmetros
pkgName String: o pacote Android a ser desinstalado.

Retorna
String um String com um código de erro ou null se a operação for concluída corretamente.

Gera
DeviceNotAvailableException

uninstallPackage

public final String uninstallPackage (ITestDevice device, 
                String pkgName)

Desinstala um pacote no dispositivo.

Parâmetros
device ITestDevice: o dispositivo que vai desinstalar o pacote.

pkgName String: o pacote Android a ser desinstalado.

Retorna
String um String com um código de erro ou null se a operação for concluída corretamente.

Gera
DeviceNotAvailableException