在android中发出相同的包名称

时间:2012-09-06 08:16:09

标签: java android linked-list resources classpath

描述


我有两个Android应用程序,这里是它们所在的软件包。

  • com.android.app.sample1
  • com.android.app.sample2

如你所知,每个应用程序都有自己的res文件夹,如果我想为sample1获取一些字符串,我必须编写com.android.app/sample1.R.string.some_string,如果是sample2 com.android.app/sample2.R.string.some_string现在如果我有一些其他项目包< / p>

  • com.android.app.testingsamples

我的sample1\srcsample2\src作为资源链接到 testingsamples ,但是当我将src链接到 testingsamples 出现“ 无法找到资源R ”等错误。

我试图解决这个问题


当我将应用程序作为资源链接到 testingsamples 时,我尝试将我的所有应用程序包更改为相同的com.android.app,一切正常{ {1}}与R中的所有人相同,但这不是问题,因为当我尝试安装 sample1 时sample2 分别安装一个,因为它们具有相同的包名。

问题


对于R将位于同一地点的所有项目,我有什么想法可以做到这一点吗?

2 个答案:

答案 0 :(得分:1)

您的src文件夹中的软件包名称与应用程序的Manifest.xml中定义的软件包名称之间存在差异。通常,当您在Eclipse中创建一个新项目时,它们是相同的,但它们不必。

您的所有项目都可以在其src文件夹中使用相同的包结构。但是为了向Android展示这两个应用程序sample1和sample2是不同的应用程序,它们在清单文件中的包名称必须不同。

更新

很抱歉,我意识到这并没有解决问题,因为R class是在den manifest中定义的包名下生成的。

答案 1 :(得分:0)

  

和我的sample1 \ src和sample2 \ src作为资源链接到   testingsamples,但是当我将src链接到testingsamples时出现错误   喜欢“无法找到资源R”。

这是因为为R生成的java文件位于sampleX \ bin中。 您可以尝试将这些添加到您的路径中以解决您的问题。

如果sample1和sample 2不是单独的应用程序,更好的方法是制作sample1和sample2 android库并将它们链接到你的testingsamples。因此,样本1和样本2 R都融合到测试样本中。