在真实设备上测试

问题描述:

如果我使用工作区中项目的bin目录中的.apk文件,而不是通过导出项目来生成.apk文件,它会产生什么效果?在真实设备上测试

bin中的apk文件使用调试密钥进行签名,这会失去签名应用程序的好处。您的应用程序应使用您自己的密钥(在导出项目时指定)进行签名,该密钥可以唯一标识您的应用程序,并保护(或尝试保护)您的应用程序,防止有人更改您的应用程序并重新发布。另外,当您上传应用程序的更新时,必须使用与原始应用程序相同的密钥进行签名,因此请务必保持此密钥的安全。

+0

如果我更新我的项目做我的apk,我已使它使用导出方法自动更新或我需要创建一个新的apk密钥? –

+1

签名过程在导出期间发生,如果您需要更新已经在Google Play上的应用程序,则必须使用您在导出第一个版本时使用的相同密钥文件。否则,如果您对所有应用使用相同的许可证或每个应用使用一个许可证,则无关紧要。检查这个[链接](http://developer.android.com/tools/publishing/app-signing.html) –

+0

如果你只是测试(无论是在模拟器还是在设备上),无论你使用apk bin目录或导出。签名仅在发布时才重要。对不起,如果我可能会困惑你。 –

您可以在调试时使用bin文件夹中的apk,但发布应用程序时,必须导出已签名的apk,或者手动从bin文件夹中签署。

但是,更简单的方法是从eclipse直接在硬件设备上进行调试,因为这使您可以访问adb和LogCat等各种工具,有关详细信息,请参阅this链接。

+0

当然这些工具也可以从命令行工作。日食给你的是(可能)一键启动,如果你选择使用它,那么java源代码级的调试。 –

+0

他的问题提到apk是在工作区中,所以我认为他使用的是Eclipse,在这种情况下,他可能会使用给定的功能。 –

+0

即使使用eclipse,也有很多理由直接使用命令行工具 - 稳定性,自定义过滤和其他adb命令。如果你更改包签名,eclipse甚至会告诉你,你必须从命令行中删除旧的包(并给你命令) –