webdevqa.jp.net

リソース(レイアウト)ファイルの名前を変更できません(Android Studio 3.0 Beta 3がインストールされています)

Beta 3では、レイアウトファイルなどのリソースファイルの名前を変更することはできません。名前変更ダイアログは表示されますが、変更を適用しようとすると、次のエラーメッセージが表示されます。

Refactoring cannot be performed
File .../myapplication/R.Java is read-only

また、近隣ディレクトリにBeta 2バージョンがあり、名前の変更は完璧に機能します。それを修正する方法はありますか?

UPD:私はバグ(#65079508)を報告し、65032914の複製としてマークされました https://issuetracker.google .com/issues/65032914

したがって、問題はさらに広がり、私がそれをよく理解すれば、Studioの今後のバージョンでバグが修正されます。

UPD#2:Beta 4がリリースされました。バグはまだ修正されていません。

UPD#3Beta 5で修正されました。

29
Roman

ええと、生成されたファイル&&を削除するだけですrefactor

Gradle->app->build->clean

Gradle clean project (remove generated files/folders)

14
wooldridgetm

Android Studio 3.0 Beta 3)で同じ問題が発生しています。次の方法で問題を修正しました:

  1. 終了Android Studio
  2. レイアウトファイルが保存されているフォルダーに移動する(CLIまたはGUI)
  3. ファイルの名前を、リファクタリングされたファイルを呼び出す名前に変更します。
  4. 再び開くAndroid Studio。

明らかに、これは古いファイルへの参照を手動でリファクタリングする必要があることを強制しますが、私は数十の異なること(R.Javaアクセス許可の変更、Gradleのクリーン、キャッシュの無効化など)を試みましたが、どれも機能しませんでした。

この問題が発生した他の人は、このバグをAndroid Studioの[ヘルプ]> [フィードバックの送信]を使用して送信してください。

また、あなたが multiple layouts folder を使用している可能性はありますか?

2
spitfyre

同じ問題があります。私はこれで解決しました

ファイル->キャッシュを無効にして再起動->無効にして再起動します。

そして、もう一度名前を変更してみてください。

この助けを願っています。幸せなコーディング:)

R.Javaファイルをsrcディレクトリに移動することで、一時的に回避できました。たとえば、パッケージ名がcom.example.sampleの場合、R.Javaファイルをapp/build/generated/source/r/debug/com/example/sample/R.Javaからapp/src/main/Java/com/example/sample/R.Javaに移動します。リファクタリングが完了したら、必ず削除してください。ビルドプロセス中に再生成されます。

0
Nathan Reline

クリーニングはすべてに対して機能するわけではありません。たとえば、R.Javaファイルは自動的に再生成されるため、ビューの名前を変更することはできません。 Instant Runを無効にしてみましたが、それも役に立ちませんでした。最終的には、レイアウトファイルでビューの名前を手動で変更する必要がありました。

https://issuetracker.google.com/issues/65032914 のバグチケットのコメントから、修正はAndroid Studio。

0
Craig