LoginSignup
3
1

More than 5 years have passed since last update.

kotlin書き換え時の「エラー: パッケージxxxは存在しません」「エラー: シンボルを見つけられません」対処メモ

Posted at

Javaで書かれたテストコードをkotlinと共存しながら、書き換えをおこなっていた際にエラーが出たのでメモ。

内容

エラーメッセージは以下。

/Users/nakayama/StudioProjects/ChatMessageView/example/src/androidTest/java/com/github/bassaer/example/MessengerActivityTest.java:13: エラー: パッケージcom.github.bassaer.example.matcherは存在しません
import com.github.bassaer.example.matcher.MessageListMatcher;
                                         ^
/Users/nakayama/StudioProjects/ChatMessageView/example/src/androidTest/java/com/github/bassaer/example/MessengerActivityTest.java:146: エラー: シンボルを見つけられません
        onView(withId(R.id.message_view)).check(matches(MessageListMatcher.withListSize(0)));

java配下のMessagngerActivityTest.javaからkotlin配下のMessageListMatcher.ktを呼び出す処理を書いていたらビルドは通るが、実行すると上記のエラーが発生。

├── androidTest
│   ├── java
│   │   └── com
│   │       └── github
│   │           └── bassaer
│   │               └── example
│   │                   ├── MainActivityTest.java
│   │                   ├── MessengerActivityTest.java
│   │                   ├── matchers
│   │                   │   ├── DrawableMatcher.java
│   │                   │   ├── ImageViewDrawableMatcher.java
│   │                   │   └── TextColorMatcher.java
│   │                   └── util
│   │                       └── ElapsedTimeIdlingResource.java
│   └── kotlin
│       └── com
│           └── github
│               └── bassaer
│                   └── example
│                       ├── matcher
│                       │   ├── ColorMatcher.kt
│                       │   └── MessageListMatcher.kt
│                       └── util
└── main

sourceSetsでkotlinフォルダも読み込むようにしているが、エラーが発生する。

sourceSets {
    main.java.srcDirs += 'src/main/kotlin'
    androidTest.java.srcDirs += 'src/androidTest/kotlin'
    test.java.srcDirs += 'src/test/kotlin'
}

結論

これを書くのを忘れていました。

apply plugin: 'kotlin-android'

以上。

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1