2012-01-25 109 views
1

我想出瞭解決問題的辦法。答案在我的答案中。我修改了一下這個問題。爲什麼多R.java生成


問題仍未解決。

當使用Eclipse構建一個android項目時,它是否應該生成超過1 R.java文件?

是的,它會爲每個導入的庫生成R.java

我如何保持它產生額外的2個R.java文件

不要,導入這些其他2個庫,但你可能需要修正你的依賴。多個不是問題。

問題下面已經固定,但是... Eclipse是仍然產生3個R.java文件和我的Ant腳本只產生1。對於有問題的項目,一切編譯兩個場景罰款(螞蟻或者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構建項目(在根文件夾中)時,產生多個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. 阿爾法。賭注a.charley.delta.echo.booger.ui
  3. alpha.beta.charley.datamodel
+0

什麼是不同R.Java文件的完整路徑? – nwaltham

+0

將其添加到底部的問題中。 – prolink007

回答

1

最近問題的答案

爲什麼它確實是因爲當您導入到庫的Android將自動生成附加到這些庫中的R.java的原因。所以是的,多個R.java是好的。


原來的問題的答案

我們找到了解決辦法。有人從另一個項目導入R.java文件。取出這個進口,解決了這個問題。

這實際上解決了返回錯誤代碼爲1的問題。但是,使用Eclipse構建項目時,它仍然會生成3個R.java文件。向主要職位添加關於此情況的詳細信息。

0

我的猜測是,ADT插件試圖生成自己的R.java除了R.java你的腳本正在製作。如果您使用Eclipse而不是命令行,只需使用ADT插件來構建您的應用程序。

+0

當我嘗試在eclipse中構建項目時,通過說「構建項目」它會生成3個R.java文件。當我嘗試使用我的腳本時,它會因此錯誤而失敗。 – prolink007

+0

問題有點解決,但我仍然有另一個問題。 – prolink007