2016-05-02 33 views
0

我写一个自动化程序,其中从Java代码,Android应用程序必须安装并卸载以后。编程安装从java程序Android应用(调用Runtime.getRuntime()。EXEC(adb.exe安装app_package_name)

样品片段是:

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

我用权值以上app_package_name,不具有.apk文件扩展名并device_id分别

这不会在设备安装该应用该应用程序是用户应用程序。

如果我必须在应用程序(在清单文件中)或其他地方(或在Java程序中)进行任何设置才能完成此项工作,请让我知道。

回答

0

你不需要使用的时候你编程执行它的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); 


} 
}