【问题标题】:Cannot install 2 Android apps on my device: the one is copy of the other but use different database无法在我的设备上安装 2 个 Android 应用程序:一个是另一个的副本,但使用不同的数据库
【发布时间】:2017-07-28 04:49:07
【问题描述】:

我想在我的设备上安装两个 Android 应用程序:一个是另一个项目的复制项目,但会写入不同的 sqlite 数据库(不同的应用程序名称、图标和数据库)。

首先,我创建了应用程序“ItalianWords”,将其安装在我的设备 (HTC Desire X) 上并用单词填写。

接下来,我在 Eclipse 中复制了上述应用程序的项目,将其重命名为“RussianWords”,更改了包名称并将应用程序名称重命名为“RussianWords”(在 AndroidManifest.xml 和 strings.xml 中) ,我确认了对 .project 的更改,我更改了启动器应用程序图标,最后我更改了 Java 文件中的数据库名称和 FTS_VIRTUAL_TABLE 名称,以确保不会覆盖我的“ItalianWords”应用程序数据库。

然后我在我的设备上安装了“RussianWords”应用程序,我惊讶地看到“RussianWords”应用程序图标替换了“ItalianWords”应用程序图标。 “ItalianWords”应用程序已从我安装的应用程序中消失。这个新安装的应用程序的数据库没有数据。

我重新安装了“ItalianWords”应用程序,同样的情况又发生了:“RussianWords”应用程序图标已被“ItalianWords”应用程序图标取代,“RussianWords”应用程序已从我设备安装的应用程序中消失,但幸运的是,“ItalianWords”应用数据库充满了数据!

你知道我该怎么做吗?

非常感谢您!

【问题讨论】:

  • 您是从 gradle 中更改包名还是仅在 java 包/清单中更改包名?
  • 仅在 java 包/清单中。我还在用Eclipse,还没迁移到Android Studio。

标签: android eclipse sqlite


【解决方案1】:

在你的情况下,我会做什么,拥有 RussianWords 应用程序:

  • 使用不同的俄语单词包创建一个名为 ItalianWords 的新项目

  • 将所有需要的库和需要的更改复制到意大利语 gradle

  • 从RussianWords 复制您需要的所有类(java、xml 和manifest)并将它们粘贴到ItalianWords 上

  • Command + shift + r,并将所有旧包名替换为新包名。例如,com.kkats.russianwords 到 com.kkats.italianwords

  • 将清单中的所有内容更改为意大利语。

这对我有用

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-18
    • 1970-01-01
    • 2017-12-11
    相关资源
    最近更新 更多