はじめに
今回はクラスを他プロジェクトの同じ処理をするクラスを参考にするべく、コピペで作成しようとした際にビルド時に出たエラー
Error: Unresolved reference: SampleClass
の対応方法を備忘録として記事にしておきます。
エラーが出た原因
- ディレクトリや誤った拡張子に置いた場合、クラスがコンパイル対象に入らず、import が効かない
- Kotlinコンパイラは .kt 拡張子のファイルしか認識しない
対応
1.ファイル名を 正しく .kt にする
- 例:SampleClass クラス → SampleClass.kt
2.ディレクトリ構造も パッケージと一致させる
3.Android Studio で Rebuild Project を実行
- コンパイル対象に正しく含まれることを確認
↑の対応でもエラーが出続けた場合
ターミナルで
find app/src -name "SampleClass.kt"
と実行しても何も出ず、クラスが見つからなかった
そこで拡張子 .kt をつけてリネームしました。
mv ./app/src/main/java/jp/ibs/Sample/SampleClass ./app/src/main/java/jp/ibs/Sample/SampleClass.kt
- mv [元ファイルパス] [新ファイルパス]
- これでファイル名に .kt がつき、Kotlinコンパイラが認識できるようになります
確認
ls ./app/src/main/java/jp/ibs/Sample/
SampleClassではなく、SampleClass.ktが表示されれば成功