問題の解決策を見つけました。答えは私の答えにあります。そして、質問を少し修正しました。
問題はまだ解決されていません。
Eclipse を使用して Android プロジェクトをビルドする場合、複数の
R.java
ファイルを生成する必要がありますか?
はい、R.java
インポートされたライブラリごとに生成されます。
R.java
余分な2つのファイルを生成しないようにするにはどうすればよいですか
他の 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
R.java
eclipse を使用してプロジェクト (gen フォルダー内) をビルドすると、このアプリが複数のファイルを生成していることに気付きました。R.java
Androidアプリは1つのファイルしか生成しないと思っていました。
1. そうですか。
2. そうでない場合、何が問題なのですか?
3. また、これら 2 つの問題は関連していますか、それとも他に何か問題がありますか?
以下は、問題のプロジェクトの 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
- alpha.beta.charley.delta.echo.booger.ui
- alpha.beta.charley.datamodel