gpt4 book ai didi

android - 为什么会生成多个 R.java

转载 作者:行者123 更新时间:2023-11-30 04:22:51 26 4
gpt4 key购买 nike

我想出了解决问题的方法。答案在我的答案中。我稍微修改了这个问题。


问题仍未解决。

使用Eclipse构建android项目时,是否应该生成超过1个
R.java
文件?

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

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

不要,导入其他 2 个库,但您可能需要修复依赖项。多个不是问题。

下面的问题已经解决,但是...Eclipse 仍然生成 3 个 R.java 文件,而我的 ant 脚本只生成 1 个。对于有问题的项目,一切都可以正常编译场景(ant 或 eclipse),但这可能会导致另一个项目出现问题,我想知道上述问题的答案。


下面是已经解决的老问题

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

<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>

我收到这个错误:

C:\BoogerReport\builder\build.xml:76: exec returned: 1

我注意到在使用 eclipse 构建项目(在 gen 文件夹中)时,此应用生成多个 R.java 文件。我认为 android 应用程序只应该生成 1 个 R.java 文件。

<强>1。是这样吗?

<强>2。如果不是,可能是什么问题?

<强>3。另外,这两个问题是相关的还是有其他问题?


下面是相关项目的 AndroidManifest.xml。


<?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

最佳答案

最近的问题答案

之所以这样做,是因为当您将库导入 android 时,它会自动生成附加到这些库的 R.java。所以是的,多个 R.java 没问题。


原题答案

我们找到了解决方案。有人从另一个项目导入了一个 R.java 文件。取出这个导入,解决了这个问题。

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

关于android - 为什么会生成多个 R.java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9005482/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com