如何以编程方式更新Android应用程序

如何以编程方式更新Android应用程序,android,Android,我已经为Android开发了一个应用程序。当我第一次安装它时,这个应用程序可以正常工作。但当我在源代码中做一些更改时,如果不从手机中删除它,我们就无法安装它。我希望该应用程序应该在我第二次安装时更新。有什么解决办法吗 注意:我的应用程序包含我不想删除的数据库,因此希望在现有数据库上更新新应用程序将Android清单中的版本代码更改为后续版本 android:versionCode android:versionCode-表示版本的整数值 相对于其他版本的应用程序代码。该值是一个 整数,以便其他应

我已经为Android开发了一个应用程序。当我第一次安装它时,这个应用程序可以正常工作。但当我在源代码中做一些更改时,如果不从手机中删除它,我们就无法安装它。我希望该应用程序应该在我第二次安装时更新。有什么解决办法吗


注意:我的应用程序包含我不想删除的数据库,因此希望在现有数据库上更新新应用程序

将Android清单中的版本代码更改为后续版本

android:versionCode

android:versionCode-表示版本的整数值 相对于其他版本的应用程序代码。该值是一个 整数,以便其他应用程序可以通过编程方式对其求值, 例如,检查升级或降级关系。你可以设置 值设置为所需的任何整数,但应确保 应用程序的每个后续版本都使用更大的值。这个 系统不强制执行此行为,而是使用 连续发布是规范性的。通常,您会发布 versionCode设置为1的应用程序的第一个版本,然后 每次释放时单调增加值,无论是否 该释放构成主要或次要释放。这意味着 android:versionCode值不一定具有强 与用户可见的应用程序发布版本相似 用户(请参阅下面的android:versionName)。应用程序和发布 服务不应向用户显示此版本值


看看这个

好吧,如果你已经编译了第二个版本,你想替换旧版本。。。
我不知道你用什么为android编程,但是如果您使用的是自动完成的eclipse sdk。

如何安装应用程序如果您正在尝试连接usb,那么新的应用程序将安装,您可以卸载第一个应用程序并安装更新的应用程序,这样新的应用程序将完美运行。

问题可能是由于您的密钥库导出应用程序。如果您使用默认的安卓密钥库导出应用程序,然后在另一台电脑上更改应用程序,并在另一台电脑上使用默认密钥库再次导出应用程序,并将其安装在同一台设备上,安卓将看到您有两个相同的应用程序,但密钥库不同。这就是为什么你需要先安装应用程序,然后再安装

如果在两台PC-s上都使用已解除的Android密钥库,这并不重要。它们仍然不是相同的密钥库


一种解决方案是创建密钥库,例如ProjectKeystore,然后在项目中创建文件夹密钥库。将密钥库放在该文件夹中,可能还会放一个包含密钥库用户名和密码的文件。这样,当您在任何PC上导出应用程序时,都可以使用相同的密钥库。

但如果更改版本代码,则会提示您出现此错误。所以试着寻找密钥库 由于应用程序签名不同,重新安装失败。 ExpenseTracker]您必须执行应用程序的完全卸载

警告:这将删除应用程序数据!
ExpenseTracker]请在shell中执行'adb uninstall com.spundhan.ExpenseTracker'。

我有时在尝试安装应用程序时遇到类似问题。为了解决这个问题,我转到应用程序管理屏幕,告诉程序停止运行,然后正确安装我的更新。我认为这与android处理程序寿命的方式有关。当你退出一个程序时,它并不总是停止运行。如果某个地方出现错误,那么android在更新程序之前可能会出现关闭程序的问题。

您是否仅尝试从选项中删除应用缓存和数据?你会保存什么样的数据?您会做什么样的更改?您是否尝试在发布版本上安装调试版本?如果是这样,你就不能那样做。您只能使用其他版本更新发布版本,或使用其他调试版本更新调试版本。第二次安装时会出现什么错误?感谢您的响应。基本上,我的应用程序由数据库组成,我不想在第二次安装时删除这些数据库。请帮助我注意:我想这样做这是通过编程实现的。除非使用Google Play更新apk,否则这是不必要的。这样做将删除我不需要的数据。请告诉我如何创建密钥右键单击项目->Android工具->导出签名应用程序。在那里的第二个窗口,你会发现一个单选按钮。单击createnewkeystore。输入所有数据,数据就在那里。现在,您可以将其放在项目的文件夹中。现在,当您去导出应用程序时,您将使用您创建的密钥。