2014-08-31 111 views
0

当初次尝试复制Android Studio项目时,我复制了finder中的项目文件夹,将其重命名为AS使用“导入项目”重构软件包并编辑清单。起初,它似乎在我的设备上运行没有任何问题。Android Studio:“导入项目”和“打开项目”在打开重复项目时遇到问题

但后来我注意到,每次我在设备上运行原始应用程序或重复应用程序时,都会替换主屏幕上的其他图标。

我找到了一个解决方案,说不使用“导入项目”,而是使用“打开项目”来打开副本。这样做可以解决应用程序的最初问题,而用另一个应用程序取而代之,但打开了一整套新蠕虫,其中重复项目中的某些指针指向原始项目中的文件和文件路径。显然这是一个已知的错误。不过,我还没有向谷歌证实过这一点。

搜索解决方案,只能导致“你需要使用‘导入项目’而不是‘打开项目’,当然这需要我回到原来的问题。任何想法?

+0

我已经看到这个问题在很多方面被问及一百万次。可能希望对问题进行投票,以便人们知道现在是时候有一个合理的答案。 – dbconfession 2014-09-02 22:56:55

回答

1

Android使用Gradle构建文件中的applicationId在AndroidManifest.xml中设置package属性;这个字符串被Android设备用来消除应用程序的歧义。如果您安装了应用程序,它将使用该包ID替换任何其他安装。在Project Structure> Flavors> defaultConfig中更改值,或者直接在构建文件中修改它。

请注意,如果您尝试在AndroidManifest.xml中直接更改它,它将在构建时被build.gradle中的内容覆盖;您需要在构建文件中对其进行修改。

+0

工作。谢谢。如何在重构完成时不更新?这是一个错误还是逻辑呢? – dbconfession 2014-09-02 21:22:33

+0

应用程序ID与代码出现的包不同。仅仅因为你改变了一个并不意味着你需要/想要改变另一个。 – 2014-09-02 21:26:31

+0

所以这只是一个巧合,包和应用程序ID是在相同的确切格式? (不是讽刺)。 – dbconfession 2014-09-02 22:16:58

-1

而不是试图复制项目Eclipse之外,尝试复制它在Eclipse中,这样的:

复制并粘贴您的项目(Ctrl + C,然后按Ctrl + v)

更改您的清单包名称

重新命名包名与折射器右键点击包装。

在您的清单中更改您的应用程序名称。

这将为该项目创建一个新的源文件夹,并且它已经在Eclipse中拥有新项目。

+0

我没有使用Eclipse。如上所述,我正在使用Android Studio。正如您所指出的那样,在IDE中进行复制使得在使用Eclipse时这个问题变得毫无意义。 – dbconfession 2014-08-31 23:19:56

+0

“这些步骤应该也适用于Android Studio”http://stackoverflow.com/questions/18324555/android-copy-existing-project-with-new-name-in-android-studio – user1282637 2014-08-31 23:22:53

+0

它不。我也看过那篇文章。 – dbconfession 2014-08-31 23:24:35

0

尝试删除duped dir中的* .iml,然后导入。