2013-12-11 47 views
2

我们必须在AndroidManifest.xml如何指定R.java的包名是从应用程序包的名称不同

我们与声明的包名应用程序com.foo.app对于一些特殊的原因,玩一些小技巧,我们想故意指定生成的R.java的包名,包名为com.bar.resource。并且不改变应用程序包名称(仍保留为com.foo.app)。

例如,我有我的应用程序使用com.foo.app,我想生成的R.java的包名称是com.bar.resource。在我的应用程序的源代码中,我将使用如下参考:com.bar.resource.id.btn_ok

我们知道我们不应该碰到R.java的内容。当然,我们可以手动修改它并构建最终的应用程序,因为它只是一个具有常量的静态类。

但在ADT/Eclipse中是否有任何可配置选项为Android项目执行此操作?


请不要告诉我如何通过Eclipse重构方法更改包名。请正确理解我的问题。我在问如何指定一个包名称自动生成R.java。我希望它是来自AndroidManifest.xml中指定的应用程序包名称的不同

+0

检查:[包重命名在eclipse的android项目](http://stackoverflow.com/questions/3697899/package-renaming-in-eclipse-android-project) –

+0

感谢您的信息,但我想要一个不同的包R.java的名字 – Robin

+0

R.java的不同包名是什么意思? –

回答

1

在包资源管理器中打开src文件夹,然后右键单击com.foo.resource,然后单击重构,然后重命名包名称,所有相关条目也将被重命名。

+0

嗨,你误解了我的问题。我要求改变R.java的自动生成的源代码。不是手动创建的资源包。 – Robin

+0

所以你想要修改R.java代码? –

+0

尝试重命名gen文件夹并删除前一个 – ARK

0

,如果你使用的是Eclipse,

包的名称
  1. 右键单击操作步骤来更改包名。
  2. 选择重构>重命名
  3. 打开清单文件。在标签内部,更改软件包名称。
  4. 在更改相关类时导入软件包。
1

我最近自己运行完全相同的问题,发现最好的解决方案实际上有一个较小的子项目,我用我想要的包名引用。

我使用ADT,所以我有

|父项目|

- > |子项目|

我使用ADT和子项目被标记为一个库项目,并引用(在Android,Java构建路径和项目依赖项),所以然后父项目获取所有资源的引用,所以我可以给它任何我想要的包名称。

我在https://github.com/SixMinute/AndroidSeparatePackageResources上抛出了这个设置的一个快速而脏的例子。

这不是一个绝对完美的设置,但它绝对是最好的,最简单的,希望它可以帮助你。

0

R.java软件包名称取决于您在清单文件中定义的软件包名称。

相关问题