SharpAdbClient.DeviceCommands.PackageManager.Install - PullRequest
0 голосов
/ 27 марта 2019

Я программирую инструмент, который пытается использовать SharpAdbClient в C # для установки нескольких APK на несколько устройств. Но сейчас у меня проблема. Я получаю исключение, если я хочу установить APK. Он работает правильно, если я подключаю только одно устройство к компьютеру. Заранее спасибо:

private DeviceData _deviceData;
private Configuration _configuration;

private string _folderPath;

public SetUp(DeviceData deviceData, Configuration configuration)
    {
        this._deviceData = deviceData;
        this._configuration = configuration;

        this._folderPath = @"..\..\File\App\";

        StartSetUp();
    }

private void StartSetUp()
{
    foreach (ConfigurationAPK configurationAPK in this._configuration.ConfigurationAPKs)
    {
        if (configurationAPK.ConfigurationMode.ID == 1)
        {
            this.Install(configurationAPK.APK);
        }
        else if (configurationAPK.ConfigurationMode.ID == 2)
        {
            this.Uninstall(configurationAPK.APK);
        }
    }
}

public void Install(APK apk)
{
    try
    {
        PackageManager packageManager = new PackageManager(this._deviceData, true);
        packageManager.InstallPackage(this._folderPath + apk.PackageFileName, true);    
    }
    catch (System.Exception)
    {
    }
}

public void Uninstall(APK apk)
{
    try
    {
        PackageManager packageManager = new PackageManager(this._deviceData);
        packageManager.UninstallPackage(apk.PackagePath);
    }
    catch (System.Exception)
    {
    }
}

1 Ответ

0 голосов
/ 30 марта 2019

и теперь я это знаю. АБР пытается с серийным номером установить APK на телефонах. Вместо этого мы должны использовать transport_ID. Поэтому, если кто-то хочет использовать SharpAdbClient, необходимо манипулировать библиотекой.

...