Android 如何在多部手机上安装.apk进行测试

Android 如何在多部手机上安装.apk进行测试,android,installation,apk,adb,Android,Installation,Apk,Adb,嗨,我正在为android开发一个云应用程序。在开发过程中,在每一个手机上安装一行代码更改后的apk是一种折磨。有没有办法通过脚本安装它。或者我可以把apk放在某个web/ftp服务器上,然后从那里我可以在每部手机上安装它。至少我不必每次都通过USB连接每部手机 请帮助出于我们的生产目的,我们在计算机和设备上使用Dropbox,将APK复制到其中,然后从我们的每部手机上单击Dropbox 编辑:过去,当我不得不以编程方式安装APK时,我使用了类似这样的东西(我再也找不到从哪里获得它了): 出于我

嗨,我正在为android开发一个云应用程序。在开发过程中,在每一个手机上安装一行代码更改后的apk是一种折磨。有没有办法通过脚本安装它。或者我可以把apk放在某个web/ftp服务器上,然后从那里我可以在每部手机上安装它。至少我不必每次都通过USB连接每部手机


请帮助

出于我们的生产目的,我们在计算机和设备上使用Dropbox,将APK复制到其中,然后从我们的每部手机上单击Dropbox

编辑:过去,当我不得不以编程方式安装APK时,我使用了类似这样的东西(我再也找不到从哪里获得它了):


出于我们的生产目的,我们在计算机和设备上使用Dropbox,将APK复制到其中,然后从我们的每部手机上单击Dropbox

编辑:过去,当我不得不以编程方式安装APK时,我使用了类似这样的东西(我再也找不到从哪里获得它了):


如果您愿意为其中一些设备设置根目录,您可以通过wifi进行adb(除非他们已经内置了该选项)

您也可以使用web服务器/gmail(或仅适用于Jellybean设备的PushBullet)将apk发送到这些设备,但该解决方案仍然需要用户执行两个附加步骤


您可以使用自己的google帐户通过无线方式将应用程序远程安装到您的设备上,而无需手机本身的用户干预,但前提是该应用程序已经发布在google Play上。我认为,如果您查看新的Google+登录api,和/或使用selenium脚本从桌面计算机的web浏览器触发安装,其中一些过程可以实现自动化(因为桌面上的web浏览器仍然需要用户授权,所以您需要selenium来完成这一点).

如果您愿意为其中一些设备设置根目录,您可以通过wifi进行adb(除非他们已经内置了该选项)

您也可以使用web服务器/gmail(或仅适用于Jellybean设备的PushBullet)将apk发送到这些设备,但该解决方案仍然需要用户执行两个附加步骤


您可以使用自己的google帐户通过无线方式将应用程序远程安装到您的设备上,而无需手机本身的用户干预,但前提是该应用程序已经发布在google Play上。我认为,如果您查看新的Google+登录api,和/或使用selenium脚本从桌面计算机的web浏览器触发安装,其中一些过程可以实现自动化(因为桌面上的web浏览器仍然需要用户授权,所以您需要selenium来完成这一点).

是的,你可以把你的apk放在服务器上,然后在设备上标记url并从那里安装。我发誓Square已经发布了他们的代码,用于安装run-your-tests-on-N-attached-devices,但我现在找不到它……那太棒了。。如果您发现了,请务必让我们知道。是的,您可以将您的apk放在服务器上,然后在设备中标记url并从那里安装。我发誓Square已经发布了他们的run-your-tests-on-N-attached-devices安装程序的代码,但我现在找不到它……那太棒了。。如果你发现了,请告诉我们。这是一个很酷的主意。有没有一种方法可以编写一个小应用程序,可以在dropbox文件夹中自动安装更新的apk文件。一个应用程序是否可以安装另一个apk??如果是这样的话,我很愿意探索这个选择。@KanwarSaad,是的,我认为这是可能的。您只需使用相同的证书对两个应用程序进行签名,并对正在使用的应用程序包名称非常小心。基本上,安装程序的应用程序包名需要嵌套在其安装的应用程序的另一个包名之上的一个文件夹级别上(我相信,两者都需要使用相同的证书进行签名)。@KanwarSaad我用我们过去的做法编辑了我的答案。:)这是个很酷的主意。有没有一种方法可以编写一个小应用程序,可以在dropbox文件夹中自动安装更新的apk文件。一个应用程序是否可以安装另一个apk??如果是这样的话,我很愿意探索这个选择。@KanwarSaad,是的,我认为这是可能的。您只需使用相同的证书对两个应用程序进行签名,并对正在使用的应用程序包名称非常小心。基本上,安装程序的应用程序包名需要嵌套在其安装的应用程序的另一个包名之上的一个文件夹级别上(我相信,两者都需要使用相同的证书进行签名)。@KanwarSaad我用我们过去的做法编辑了我的答案。:)
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(new File(Environment.getExternalStorageDirectory() + "/download/" + "app.apk")), "application/vnd.android.package-archive");
startActivity(intent);