2016-05-02 35 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); 


} 
}