我找到了问题的解决方案。答案在我的回答中。我稍微修改了一下这个问题。
问题仍未解决。
使用Eclipse构建android项目时,它应该生成多个
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
文件的路径:
答案 0 :(得分:1)
最近的问题解答
之所以这样做,是因为当你将一个库导入android时,它会自动生成附加到这些库的R.java
。所以是的,多个R.java
很好。
原始问题解答
我们找到了解决方案。有人从另一个项目导入了R.java
文件。取消导入,解决了问题。
这实际上解决了它返回错误代码1的问题。但是,当使用Eclipse构建项目时,它仍然构建3个R.java文件。在主要帖子中添加有关此情况的详细信息。
答案 1 :(得分:0)
我的猜测是,除了你的脚本正在制作的R.java之外,ADT插件还试图生成自己的R.java。如果您使用的是Eclipse而不是命令行,只需使用ADT插件来构建您的应用程序。