从Google Play商店自动安装.apk

时间:2018-11-05 15:20:08

标签: android testing apk adb android-tv

我正在使用Python和我自己的ADB协议实现编写一些Android-TV-App的端到端测试。到目前为止,这一切正常,我可以发送命令,获取ui-dumps等。

但是,由于该应用仅在Google Play商店中可用(我无法访问任何源代码),并且我想每周更新一次该应用的版本,所以我想知道如何做到这一点使用亚行。

我考虑过以下解决方案:

  1. 发送关键事件以在设备上打开Play商店,并导航至该应用的安装/更新页面。
  2. 以某种方式将应用下载到Testmachine并通过ADB将其推送到设备。
  3. 使用ADB直接在设备上安装新版本的应用。

什么是“最佳实践”?我该如何解决我的问题?

3 个答案:

答案 0 :(得分:4)

这就是我要做的。
1.首先在playstore中打开应用页面

adb shell am start -a android.intent.action.VIEW -d 'market://details?id=com.yourpackagename'

2。然后触摸安装/更新按钮。

adb shell input tap <x> <y> (Default: touchscreen)

答案 1 :(得分:2)

使用以下本地下载APK Google Play Downloader via Command line并与adb一起安装。

$ gplaycli -s 'App Inspector'
Title                                           Creator            Size      Downloads                 Last Update  AppID                        Version   Rating  
App Inspector                                   Projectoria        895.04KB  100,000+ downloads        14 Jul 2019  bg.projectoria.appinspector  8         4.53    
...
$ gplaycli -d bg.projectoria.appinspector
$ adb install bg.projectoria.appinspector.apk 
Performing Streamed Install
Success

答案 2 :(得分:0)

答案对我来说毫无问题。

adb shell am start -a android.intent.action.VIEW -d 'market://details?id=com.yourpackagename'

但是在其他手机上,它无法正常工作,并引发了错误。 您可以通过从命令中删除单引号(')来解决该错误(明天将以确切的错误进行编辑):

adb shell am start -a android.intent.action.VIEW -d market://details?id=com.yourpackagename