2011-11-09 11 views
6

私はUbuntu 11.10、Eclipse 3.7.0、ADT 14.0.0にアップグレードしました。Eclipse Androidはクリーンではなく、リソースをリフレッシュしません

デスクトップ上の/ res/drawable-nodpiディレクトリ内の画像リソースまたは/ res/rawディレクトリ内のサウンドリソースを置き換えると、再コンパイルされたプログラムとプロジェクトエクスプローラの両方で以前にキャッシュされたバージョンが使用されます。

私は、次の、どれも働いていない試してみました:

right-click on filename in project explorer: Refresh 
right-click on /drawable-nodpi dir in p.e.: Refresh 
right-click on /res dir in p.e.:    Refresh 
right-click on Project in p.e.:    Refresh 
Project -> Clean... 
Project -> check Build Automatically, Run->Run 

をプログラムが正しく新しいソースコードの変更を再コンパイルしますが、独自のキャッシュされたリソースを再利用します。 これはUbuntu 10で動作していた既存のプロジェクトです。

回避策として、ファイルの名前をディスク上に変更しました。 Eclipseプロジェクトエクスプローラでファイルを削除しました。ディスク上のファイルの名前を復元しました。デスクトップから、プロジェクトエクスプローラの/ res/drawable-nodpiフォルダにファイルをドラッグしました。 Eclipseには、ファイルをEclipseにコピーまたはリンクするかどうかを尋ねるポップアップが表示されました。私はリンクを選んだ。これで最終的に新しいバージョンのリソースがインポートされました。

更新:これらのイメージを使用したソースコードが他の場所で変更された後、R.drawable.mypicnameが何も参照されなくなったと言って再コンパイルを終了します。リンクされたリソースは結局信頼できるとは思われません。最新の回避策は、デスクトップ上のファイルを手動でコピーし、Eclipse ProjEx/res/drawable-nodpiディレクトリに貼り付けることです。これは、ソースコードの変更なしで再コンパイルし、デバイス上で実行されました。

クリーンとリフレッシュの両方が正しく機能しない場合は、予期しない動作です。なぜこれをやっているのですか?私は間違って何をしていますか? Eclipse環境を設定して、ディスク上のファイルを変更するときに最新の最新バージョンを使用できるようにするにはどうすればよいですか?または少なくとも私はリフレッシュすることができますか?ありがとう。

+0

コマンドラインでemacsとandroid/antを使用してください... – Renaud

+0

デバイスからアンインストールを試しましたか? –

+0

Emacs私は知っている。私はうまく動かない。 Eclipseはグラフィカルな開発環境であるため、私はこの場合「コマンドライン」が何を指しているのか理解していません。ありがとう。 – DragonLord

答えて

1

作業領域をファイルシステムと同期させるために、軽量の「アクセス時にリフレッシュ」を有効にします。

このオプションは、Eclipseの[一般] - > [ワークスペース]の下の[here]にあります。

+1

Mac OSでは、「アクセス時にリフレッシュ」が優先されます。 – Noel

0

私の場合、eclipseが正しいイメージファイルを見つけることができないように間違った 'R'をインポートします。 これを変更してみてください:import android.R; => import com.example.myfirstapp.R;

1

アプリケーションでbinを探します。おそらくres/crunchという名前のフォルダがあるので、手動で更新したり更新したりしないドロアブルを検索してください。

関連する問題