java - Android:应用程序升级而不是新版本

标签 java android eclipse

我有一个使用 Eclipse Android 插件开发的旧 Android 应用程序,我正在尝试将其转换为新的 Android Studio。自动转换失败得很惨,所以我手动转换了。

现在的问题是,当我运行我的新应用程序时,它会作为新安装启动,而不是替换旧应用程序。我的猜测是我需要从旧安装中复制某个 ID,但我完全不知道在哪里可以找到它。

可能是问题根源的一件事是,在旧的 Eclipse IDE 中,您指定的代码包名称与项目名称分开。但在 Android Studio 中,包名直接来源于项目名。当我最初创建项目时,我拼错了包名,所以包名和项目名不一样。我已经有新版本的应用程序以与旧版本相同的名称和(拼写错误的)包名称运行。

最佳答案

我认为有两件事需要与您的旧应用相匹配:

  1. list 中设置的包名称。这可能是您的问题,因为它愉快地安装了您的新应用程序而没有提示签名身份不匹配。请注意,在 Android Studio 中, list 中的包名称实际上并不重要,因为它会被您放入 build.gradle 文件中的任何包名称覆盖。

  2. 签名身份。要安装同一应用程序的另一个副本,需要使用相同的 key 对其进行签名。从您的 IDE 运行时,它使用的是 debug.keystore,它很可能与 Eclipse 中的旧 keystore 不匹配。如果您真的需要从旧安装继续,您可以找到 Eclipse 使用的旧 debug.keystore 并将其复制到新项目中。修改 build.gradle 以指向另一个 debug.keystore。

关于java - Android:应用程序升级而不是新版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26263337/

相关文章:

java - 有没有办法使用 javafx 将按钮添加到 Canvas 上

java - 在 Java 中创建元组和元组函数的辅助方法?

java - 带有 MenuInflater 的菜单 XML

java - System.out.println() 快捷方式不起作用

eclipse - 多个用户在共享网络驱动器上使用 Git 存储库是否安全?

java - Vaadin数据模型接口(interface)关系解释

android - 检测 Android 设备主题(是深色还是浅色)

android - Room 中 2 dao 的交易是真实的?

Java 和 Android : Accessing a function using Classname vs this

java - Java 中否定运算符输出的混淆