Android:包含多个Java包到Manifest

Hap*_*sha 31 android manifest package

我正在开发的应用程序有许多活动组织成七个java包.最初我在java包中为每组活动编写了所有编码和内容,作为不同的项目.

现在我想把所有的包放在一个项目中.当我向src文件夹添加一个新包时,我的所有R.id.*值都会出错("R无法解析").

我的直觉告诉我,我必须在项目清单中加入一些花哨的东西,但我找不到任何在线资源告诉我如何.

(注:我看过这个这个,我仍然无法弄清楚如何将其他包添加到我的项目.)

Che*_*mon 39

确保Activity顶部的import语句引用了正确的R文件.每个项目都有自己的R文件,因此如果将Activity从一个项目复制到另一个项目,它仍将尝试从旧项目中引用R文件.

您不需要在清单中明确包含不同的包.要包含来自两个不同包的活动,请说:

com.example.package1.Activity1
com.example.package2.Activity2
Run Code Online (Sandbox Code Playgroud)

你可以做到以下几点:

<manifest package="com.example" . . . >
  <application . . .>
    <activity android:name=".package1.Activity1" . . . />
    <activity android:name=".package2.Activity2" . . . />
  </application>
</manifest>
Run Code Online (Sandbox Code Playgroud)


bee*_*per 15

Android会自动在App的清单中声明的​​包中创建名为"R"的类.当您的所有类都在该包中时,您将永远不必显式导入"R".但是,如果您在其他包中有类,则默认情况下它们不会看到它,您必须包含它

 import <app-package>.R;
Run Code Online (Sandbox Code Playgroud)

要么

 import <app-package>.*;
Run Code Online (Sandbox Code Playgroud)

(<app-package>当然用实际名称代替).

如果您在应用程序中包含库项目,那么他们可以引用自己的"R"类,这些类将在主程序包中生成.如果您有几个独立的活动需要捆绑在一起进入最终的应用程序,您应该认真考虑使用库项目而不是手动合并.它可以让你的生活更轻松.