我在一个项目中工作,所以我有以下代码:
DesiredCapabilities cap = new DesiredCapabilities();
cap.setCapability(MobileCapabilityType.DEVICE_NAME, "emulator-5554");
cap.setCapability(MobileCapabilityType.PLATFORM_NAME, "Android"); //platformName
cap.setCapability(MobileCapabilityType.PLATFORM_VERSION, "7.1.1"); //platformVersion
cap.setCapability("appPackage","com.android.dialer");
cap.setCapability("appActivity","com.android.dialer.DialtactsActivity");
问题是,我收到此错误:
处理命令时发生未知的服务器端错误。原始错误:执行adbExec时出错。原始错误:'命令'C:\ Users \ dnkos \ AppData \ Local \ Android \ Sdk \ platform-tools \ adb.exe -P 5037 -s emulator-5554 install -r C:\ Users \ dnkos \ AppData \ Local \程序\ Appium \ resources \ app \ node_modules \ appium \ node_modules \ appium-uiautomator2-server \ apks \ appium-uiautomator2-server-debug-androidTest.apk'已退出,代码为1'; Stderr:'adb:无法安装C:\ Users \ dnkos \ AppData \ Local \ Programs \ Appium \ resources \ app \ node_modules \ appium \ node_modules \ appium-uiautomator2-server \ apks \ appium-uiautomator2-server-debug-androidTest .apk:失败[INSTALL_PARSE_FAILED_NO_CERTIFICATES:无法从/data/app/vmdl2090851678.tmp/base.apk收集证书:META-INF / CERT.SF在/ data / app中的javax / annotation / meta / Exclusive.java具有无效的摘要/vmdl2090851678.tmp/base.apk]”;代码:“ 1”
有什么问题吗?
答案 0 :(得分:0)
该应用似乎未正确签名。 properly signed。
您可以在Android SDK中搜索apksigner.bat
并以这种方式运行:
sign --key C:\Users\dnkos\AppData\Local\Programs\Appium\resources\app\node_modules\appium\node_modules\appium-adb\keys\testkey.pk8 --cert C:\Users\dnkos\AppData\Local\Programs\Appium\resources\app\node_modules\appium\node_modules\appium-adb\keys\testkey.x509.pem C:\Users\dnkos\AppData\Local\Programs\Appium\resources\app\node_modules\appium\node_modules\appium-uiautomator2-server\apks\appium-uiautomator2-server-debug-androidTest.apk
如果它不起作用,则可能是APK签名者问题,您可能需要尝试将Android SDK更新到最新版本,或尝试使用其他模拟器/ Android OS版本。
或者,您可以尝试添加具有noSign
值的true
功能