0

我想通过电子邮件将我的 apk 文件发送给某人。我一开始只是apk从我的/bin文件夹中复制文件,但是当它安装在另一台设备上时,它得到了一个Parse Error. 我一直在环顾四周,发现人们说要导出文件的一些问题。我开始了导出过程,但它要求我创建一个密钥库。我不太确定那是什么,但从我读到的内容来看,你是如何签署你的申请的。

有没有在不签署应用程序的情况下向某人发送 apk 文件?

如果用户将他们的平板电脑设置为调试模式,是否需要对应用程序进行签名?

它在我的测试设备上运行,是因为我通过 Eclipse 运行它吗?

如果我需要签署我的申请,这是一个永久性的举动,还是我可以回去编辑我所做的事情?

谢谢

4

2 回答 2

3

阅读官方开发指南 -签署您的应用程序,它回答了您的所有问题。

有没有在不签署应用程序的情况下向某人发送 apk 文件?

是的,通过电子邮件、闪存驱动程序等,但他们将无法安装它们。

如果用户将他们的平板电脑设置为调试模式,是否需要对应用程序进行签名?

所有申请都必须签名。如果未签名,系统将不会在模拟器或设备上安装应用程序。

它在我的测试设备上运行,是因为我通过 Eclipse 运行它吗?

为了测试和调试您的应用程序,构建工具使用由 Android SDK 构建工具创建的特殊调试密钥对您的应用程序进行签名。

如果我需要签署我的申请,这是一个永久性的举动,还是我可以回去编辑我所做的事情?

一般来说,您可以在代码中编辑您想要的所有内容,签名仅用于 Google Play 的发布过程,如果您希望您的用户接收更新,请使用相同的密钥库对修改后的 apk 进行签名。因此,请务必将您自己的私钥存储文件安全地保存在云端,因为相同的私钥不可重新创建。有关更多详细信息,请参阅开发指南。

于 2012-09-19T22:34:27.317 回答
3

如果您正在使用 Eclipse,您可以右键单击该项目并选择“Android 工具 > 导出未签名应用程序”(如果需要,也可以选择已签名应用程序)。

但是,我不知道 Android 是否允许安装未签名的应用程序。可能不是,这是我的猜测。

你有什么不想签的理由吗?真的不难。

如果您在 Mac 或 Linux 上工作,则可以从命令行轻松完成:

如果您的系统上安装了 Java,则 keytool 应该已经在您的路径中。您还需要将androidsdk /tools/ 放在您的路径中,或者您可以在需要时输入完整路径。

只需给出以下命令:

  keytool -genkey -alias JuiCe -validity 20000 -keystore ~/.android/my-keystore
  jarsigner -keystore ~/.android/my-keystore myApplication.apk JuiCe
  zipalign -v 4 myApplication.apk myapp.zip

然后将 myapp.zip 发送给您的用户。

编辑添加:

我认为 yorkw 有更好的答案。

我还想提一下,Eclipse 用来为您的 apk 签名的调试签名应该有效。我怀疑该 apk 在交付给您的用户时以某种方式损坏。或者你可能安装错了。

首先,在接收设备上,您需要转到Settings > Applications并检查Unknown sources

接下来,如果 adb 可用,请执行“adb install myapp .apk”。

如果 adb 不可用,请将 apk 文件放在 sdcard 上的某个位置并运行文件管理器(OIFileManager 或 Astro 是不错的选择)。文件管理器将允许您在设备上安装 apk。

您还可以让您的用户从 Internet 下载 apk。然后浏览器的下载菜单项将允许您安装它。

于 2012-09-19T22:35:57.893 回答