首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么要生成多个R.java

为什么要生成多个R.java
EN

Stack Overflow用户
提问于 2012-01-25 15:41:25
回答 2查看 2.7K关注 0票数 1

我想出了解决问题的办法。答案在我的回答里。我稍微修改了一下这个问题。

问题仍未解决.

当使用构建项目时,它是否应该生成一个以上的文件?

是的,它将为导入的每个库生成R.java

如何防止它生成额外的2 R.java 文件

不要导入其他两个库,但是您可能需要修复依赖关系。多重不是问题。

下面的问题已经解决了,但是.Eclipse仍在生成3个R.java文件,而我的ant脚本只生成1个。对于所讨论的项目,在这两种情况下(ant或eclipse),一切都编译得很好,但这可能会在另一个项目中引起问题,我想知道上面问题的答案。

下面的是一个已经解决了的老问题,

我正在尝试为几个应用程序创建一些ant构建脚本。当试图运行此代码时:

代码语言:javascript
运行
复制
<target name="resource-src" description="Generate the R.java file for this project's resources.">
    <exec executable="${aapt}" failonerror="true">
        <arg value="package"/>
        <arg value="-f"/>
        <arg value="-v"/>
        <arg value="-M"/>
        <arg path="../AndroidManifest.xml"/>
        <arg value="-A"/>
        <arg path="../assets"/>
        <arg value="-I"/>
        <arg path="${android_jar}"/>
        <arg value="-m"/>
        <arg value="-J"/>
        <arg path="../gen"/> <!-- Create R.java in the gen directory -->
        <arg value="-S"/>
        <arg path="../res"/>
    </exec>
</target>

我知道这个错误:

代码语言:javascript
运行
复制
C:\BoogerReport\builder\build.xml:76: exec returned: 1

我注意到这个应用程序在使用eclipse构建项目时(在gen文件夹中)生成多个R.java文件。我以为android应用程序只需要生成一个R.java文件。

1.是这样的吗?

2.如果不是,会有什么问题?

3.另外,这两个问题是相关的还是有其他问题?

下面是该项目的AndroidManifest.xml。

代码语言:javascript
运行
复制
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="alpha.beta.charley.delta.echo.booger.ui"
      android:versionCode="2"
      android:versionName="UnofficialBuild">
    <uses-sdk android:minSdkVersion="10" />
    <application android:icon="@drawable/booger"
        android:label="@string/app_name">
        <activity android:name=".BoogerReport"
                  android:label="@string/app_name"
                  android:configChanges="keyboardHidden|orientation"
                  android:windowSoftInputMode="stateHidden">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
            <intent-filter>
                <action android:name="alpha.beta.charley.delta.message.boogerreport.CREATE" />
                <category android:name="android.intent.category.DEFAULT"/>
                <category android:name="alpha.beta.charley.delta.message.category.LOCATION" /> 
            </intent-filter>
        </activity>
        <activity android:name=".BoogerReportView"
                  android:configChanges="orientation">
            <intent-filter>
                <action android:name="alpha.beta.charley.delta.message.boogerreport.OPEN" />
                <category android:name="android.intent.category.DEFAULT"/>
            </intent-filter>
        </activity>
        <activity android:name=".BoogerList" 
                  android:configChanges="orientation" /> 
    </application>
</manifest>

回答问题的附加信息:

生成的R.java文件的路径:

  1. alpha.beta.charley.delta
  2. alpha.beta.charley.delta.echo.booger.ui
  3. alpha.beta.charley.datamodel
EN

Stack Overflow用户

回答已采纳

发布于 2012-01-25 16:38:27

最近的问题解答

之所以会这样做,是因为当你将一个库导入到安卓系统中时,它会自动生成连接到这些库的R.java。所以是的,多个R.java是可以的。

原始问题解答

我们找到了解决办法。有人从另一个项目导入了一个R.java文件。把这个进口取出来,解决了问题。

--这实际上解决了它返回错误代码1的问题。但是,当使用R.java构建项目时,它仍然生成3个R.java文件。在主帖子中添加有关此情况的详细信息.

票数 1
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9005482

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档