Я понял решение проблем. Ответы в моем ответе. И я немного изменил вопрос.
Проблема все еще не решена.
При использовании Eclipse для создания проекта Android должен ли он создавать более 1 файла
R.java
?
Да, будет создано R.java
для каждой импортированной библиотеки.
Как предотвратить создание дополнительных 2 R.java
файлов
Не импортируйте эти две другие библиотеки, но вам, вероятно, потребуется исправить свои зависимости. Несколько — не проблема.
Однако описанная ниже проблема была исправлена... 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
Я заметил, что это приложение создает несколько файлов R.java
при использовании eclipse для сборки проекта (в папке gen). Я думал, что приложения для 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
файлам:
- альфа.бета.чарли.дельта
- alpha.beta.charley.delta.echo.booger.ui
- alpha.beta.charley.datamodel