我有一个使用Eclipse Android插件开发的旧Android应用程序,我正在尝试将其转换为新的Android Studio。自动转换是一个悲惨的失败,所以我手动转换它。
现在的问题是,当我运行我的新应用程序时,它将作为新安装启动而不是替换旧安装。我的猜测是我需要从旧安装中复制一个ID,但我完全不知道在哪里可以找到它。
可能是问题根源的一件事是,在旧的Eclipse IDE中,您为代码指定了与项目名称分开的包名称。但是在Android Studio中,包名直接来自项目名称。当我最初创建项目时,我拼错了包名,因此包和项目名称不相同。我已经让我的新版本的应用程序以相同的名称和旧拼写的(拼写错误的)包名运行。
答案 0 :(得分:1)
如果更改包名是您的问题,可以轻松修复。
您可以从Android Studio内部对您的包名执行重构(或手动更改文件夹名称并更新引用)。
然后,您必须在 build.gradle 文件中的发行版(以及需要时调试)配置中检查您的applicationId。
希望它有所帮助。
答案 1 :(得分:1)
我认为有两件事需要与您的旧应用程序相匹配:
清单中设置的包名称。这可能是您的问题,因为它很乐意安装您的新应用,而不会抱怨签名不匹配的身份。请注意,在Android Studio中,清单中的软件包名称实际上并不重要,因为它已被您放在 build.gradle 文件中的任何软件包名称覆盖。
签名身份。要安装在同一个应用程序的另一个副本上,需要使用相同的密钥进行签名。从IDE运行时,它使用的是debug.keystore,它很可能与Eclipse中的旧版本不匹配。如果您确实需要从旧安装继续,您可以找到Eclipse正在使用的旧debug.keystore并将其复制到新项目中。修改 build.gradle 以指向其他debug.keystore。