Программно установите приложение Android из программы java (Runtime.getRunTime().exec (adb.exe установить app_package_name)

Я пишу программу автоматизации, где из Java-кода, Android-приложение должно быть установлено и позже удалено.

Пример фрагмента:

Process p = Runtime.getRunTime().exec(adb.exe install -s device_id apksapp_package_name);

Я использовал правильные значения для выше app_package_name, не имеет .apkрасширения файла и device_idсоответственно.

Это не устанавливает приложение на устройстве. Приложение является пользовательским приложением.

Пожалуйста, дайте мне знать, если я должен сделать какие-либо настройки в приложении (в файле манифеста) или в другом месте (или в программе Java), чтобы сделать эту работу.

1 ответ

  1. Вам не нужно использовать adb, когда вы выполняете его программно,

    Указав путь apk в вашей машине и имя пакета будет по умолчанию нажмите приложение на устройство и приземлится в пусковой активности / домашний экран ogf ваше приложение, попробуйте использовать код ниже,

    import io.appium.java_client.android.AndroidDriver;
    
    import java.net.MalformedURLException;
    import java.net.URL;
    import java.util.List;
    import java.util.concurrent.TimeUnit;
    import org.openqa.selenium.WebElement;
    import org.openqa.selenium.remote.DesiredCapabilities;
    
    public class installApp{
         static AndroidDriver<WebElement>  driver;
    
        private static DesiredCapabilities capa = null;
    
        public static void main(String[] args) throws MalformedURLException, InterruptedException  {
        capa = new DesiredCapabilities();    
        capa.setCapability("automationName","Appium"); 
        capa.setCapability("platformName","Android");
        capa.setCapability("deviceName","device name");
        capa.setCapability("udid", "ur device udid");  
        capa.setCapability("platformVersion","5.1");
        capa.setCapability("newCommandTimeout","30");
        capa.setCapability("appPackage", "com.your app's package name"); 
        capa.setCapability("appActivity", "com.your app's launcher activity");
    
        driver = new AndroidDriver<WebElement>(new URL("http://127.0.0.1:4723/wd/hub"), capa);
    
    
    }
    }