I'm trying to start with Kotlin by converting some Java classes of my project to Kotlin and create a mixed Java/Kotlin project. In order to configure the environment I did the following:

  1. Downloaded the latest version of Kotlin plugin (1.0.2);
  2. On the top level gradle.plugin I've added: classpath "org.jetbrains.kotlin:kotlin-android-extensions:1.0.2" in the dependencies section;
  3. 在我模块的gradle插件中,我添加了:依赖项部分有compile "org.jetbrains.kotlin:kotlin-stdlib:1.0.2"个;
  4. I've picked the POJO class I wanted to convert to kotlin, selected from menu Code -> Convert Java File to Kotlin File;
  5. After that, all Java classes that were importing the converted class started to display: error: cannot find symbol class Chat. Below are the original class, the converted class and the log:

Original Java class:

package br.com.gogame.model;

import com.google.gson.Gson;
import com.orm.SugarRecord;
import com.orm.dsl.Ignore;

import java.io.Serializable;
import java.util.List;

import br.com.gogame.model.enums.ChatType;

/**
 * Created by edgar on 11-Apr-16.
 */
public class Chat extends SugarRecord implements Serializable {

    private String title;
    private String thumbnail;
    private ChatType chat_type;
    private long chat_id;
    private int num_of_members;
    private long user_id;
    @Ignore
    private List<Long> users;

    public Chat() {
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getThumbnail() {
        return thumbnail;
    }

    public void setThumbnail(String thumbnail) {
        this.thumbnail = thumbnail;
    }

    public ChatType getChat_type() {
        return chat_type;
    }

    public void setChat_type(ChatType chat_type) {
        this.chat_type = chat_type;
    }

    public long getChat_id() {
        return chat_id;
    }

    public void setChat_id(long chat_id) {
        this.chat_id = chat_id;
    }

    public int getNum_of_members() {
        return num_of_members;
    }

    public void setNum_of_members(int num_of_members) {
        this.num_of_members = num_of_members;
    }

    public long getUser_id() {
        return user_id;
    }

    public void setUser_id(long user_id) {
        this.user_id = user_id;
    }

    public List<Long> getUsers() {
        return users;
    }

    public void setUsers(List<Long> users) {
        this.users = users;
    }

    @Override
    public String toString() {
        Gson gson = new Gson();
        return gson.toJson(this, Chat.class);
    }
}

Converted Kotlin class

package br.com.gogame.model

import com.orm.SugarRecord
import com.orm.dsl.Ignore

import java.io.Serializable

import br.com.gogame.model.enums.ChatType

/**
 * Created by edgar on 11-Apr-16.
 */
class Chat : SugarRecord(), Serializable {
    var title: String? = null
    var thumbnail: String? = null
    var chat_type: ChatType? = null
    var chat_id: Long = 0
    var num_of_members: Int = 0
    var user_id: Long = 0
    @Ignore
    var users: List<Long>? = null
}

Error Log:

C:\SIBEN\Edgar\workspace\GoGame\current\app\src\main\java\br\com\gogame\commons\infra\App.java
    Error:(8, 42) error: cannot find symbol class DaggerMainComponent
    C:\SIBEN\Edgar\workspace\GoGame\current\app\src\main\java\br\com\gogame\view\fragments\FragmentChats.java
    Error:(23, 27) error: cannot find symbol class Chat
    C:\SIBEN\Edgar\workspace\GoGame\current\app\src\main\java\br\com\gogame\communication\post_office\GCMOffice.java
    Error:(25, 27) error: cannot find symbol class Chat
    C:\SIBEN\Edgar\workspace\GoGame\current\app\src\main\java\br\com\gogame\controller\util\JSONParser.java
    Error:(22, 27) error: cannot find symbol class Chat
    Error:(98, 17) error: cannot find symbol class Chat
    Error:(111, 60) error: cannot find symbol class Chat
    C:\SIBEN\Edgar\workspace\GoGame\current\app\src\main\java\br\com\gogame\controller\ChatController.java
    Error:(23, 27) error: cannot find symbol class Chat
    Error:(41, 12) error: cannot find symbol class Chat
    Error:(46, 12) error: cannot find symbol class Chat
    Error:(62, 32) error: cannot find symbol class Chat
    C:\SIBEN\Edgar\workspace\GoGame\current\app\src\main\java\br\com\gogame\commons\util\FakeDataProvider.java
    Error:(7, 27) error: cannot find symbol class Badge
    Error:(8, 27) error: cannot find symbol class Chat
    Error:(21, 24) error: cannot find symbol class Badge
    Error:(94, 24) error: cannot find symbol class Chat
    Error:(106, 20) error: cannot find symbol class Chat
    Error:(118, 20) error: cannot find symbol class Chat
    Error:(130, 20) error: cannot find symbol class Chat
    Error:(142, 20) error: cannot find symbol class Chat
    C:\SIBEN\Edgar\workspace\GoGame\current\app\src\main\java\br\com\gogame\controller\util\NotificationFactory.java
    Error:(19, 27) error: cannot find symbol class Chat
    C:\SIBEN\Edgar\workspace\GoGame\current\app\src\main\java\br\com\gogame\model\dao\ChatDAO.java
    Error:(13, 27) error: cannot find symbol class Chat
    Error:(24, 29) error: cannot find symbol class Chat
    Error:(46, 19) error: cannot find symbol class Chat
    Error:(60, 19) error: cannot find symbol class Chat
    C:\SIBEN\Edgar\workspace\GoGame\current\app\src\main\java\br\com\gogame\model\dao\ChatUserDAO.java
    Error:(7, 27) error: cannot find symbol class Chat
    C:\SIBEN\Edgar\workspace\GoGame\current\app\src\main\java\br\com\gogame\model\dao\Datamanager.java
    Error:(9, 27) error: cannot find symbol class Chat
    C:\SIBEN\Edgar\workspace\GoGame\current\app\src\main\java\br\com\gogame\model\dao\LocalUserDAO.java
    Error:(8, 27) error: cannot find symbol class Chat
    Error:(145, 24) error: cannot find symbol class Chat
    C:\SIBEN\Edgar\workspace\GoGame\current\app\src\main\java\br\com\gogame\view\adapters\BadgesAdapter.java
    Error:(15, 27) error: cannot find symbol class Badge
    Error:(21, 52) error: cannot find symbol class Badge
    Error:(25, 60) error: cannot find symbol class Badge
    C:\SIBEN\Edgar\workspace\GoGame\current\app\src\main\java\br\com\gogame\controller\FriendshipController.java
    Error:(21, 27) error: cannot find symbol class Chat
    Error:(195, 79) error: cannot find symbol class Chat
    Error:(33, 8) error: dagger.internal.codegen.ComponentProcessor was unable to process this class because not all of its dependencies could be resolved. Check for compilation errors or a circular dependency with generated code.
    C:\SIBEN\Edgar\workspace\GoGame\current\app\src\main\java\br\com\gogame\controller\MessageController.java
    Error:(23, 27) error: cannot find symbol class Chat
    Error:(91, 50) error: cannot find symbol class Chat
    Error:(117, 61) error: cannot find symbol class Chat
    Error:(128, 65) error: cannot find symbol class Chat
    Error:(216, 46) error: cannot find symbol class Chat
    Error:(34, 8) error: dagger.internal.codegen.ComponentProcessor was unable to process this class because not all of its dependencies could be resolved. Check for compilation errors or a circular dependency with generated code.
    C:\SIBEN\Edgar\workspace\GoGame\current\app\src\main\java\br\com\gogame\view\activities\ActivityCanvas.java
    Error:(38, 27) error: cannot find symbol class Chat
    Error:(64, 13) error: cannot find symbol class Chat
    Error:(53, 8) error: dagger.internal.codegen.ComponentProcessor was unable to process this class because not all of its dependencies could be resolved. Check for compilation errors or a circular dependency with generated code.
    C:\SIBEN\Edgar\workspace\GoGame\current\app\src\main\java\br\com\gogame\view\activities\ActivityFriends.java
    Error:(22, 27) error: cannot find symbol class Chat
    Error:(196, 13) error: cannot find symbol class Chat
    Error:(39, 8) error: dagger.internal.codegen.ComponentProcessor was unable to process this class because not all of its dependencies could be resolved. Check for compilation errors or a circular dependency with generated code.
    C:\SIBEN\Edgar\workspace\GoGame\current\app\src\main\java\br\com\gogame\view\adapters\ChatAdapter.java
    Error:(26, 27) error: cannot find symbol class Chat
    Error:(35, 50) error: cannot find symbol class Chat
    Error:(43, 58) error: cannot find symbol class Chat
    Error:(35, 8) error: dagger.internal.codegen.ComponentProcessor was unable to process this class because not all of its dependencies could be resolved. Check for compilation errors or a circular dependency with generated code.
    C:\SIBEN\Edgar\workspace\GoGame\current\app\src\main\java\br\com\gogame\commons\infra\dagger\MainComponent.java
    Error:(42, 8) error: dagger.internal.codegen.ComponentProcessor was unable to process this interface because not all of its dependencies could be resolved. Check for compilation errors or a circular dependency with generated code.
    Error:Execution failed for task ':app:compileDebugJavaWithJavac'.
    > Compilation failed; see the compiler error output for details.
    Information:BUILD FAILED
    Information:Total time: 7.406 secs
    Information:51 errors
    Information:4 warnings
    Information:See complete output in console

推荐答案

As pointed out by user @Ilya, the problem was that the .kt files weren't being compiled and, therefore, couldn't be recognized when I tried to deploy the app in the device. To solve this problem, all I had to do was add apply plugin: 'kotlin-android' in my module's gradle.build as indicated in the links he has pointed in his comment, and that's all! It works now!

Kotlin相关问答推荐

Kotlin是否针对范围和进度优化sum()?

合并状态流

Criteria Api 中的 Kotlin 泛型

Spring Boot Kotlin 数据类未使用 REST 控制器中的默认值初始化

如何在 Kotlin 中为类方法调用传递变量

如何将光标从一个文本字段传递到 Jetpack Compose 中的其他文本字段?

协程子作业(job)取消

按钮无法在 Android Studio 上打开新活动

Kotlin 中的as Long和.toLong()有什么区别?

如何处理基于枚举提前返回的 forEach 循环,Kotlin 中的一条路径除外

在 Compose 中使用 Text() 时如何获取文本的大小?

从 HashMap 检索时的 NPE,即使 containsKey() 在多线程环境中返回 true

如何通过 compose 处理剪切区域?

为 Gradle 子项目配置 Kotlin 扩展

Kotlin 日期格式从一种更改为另一种

如何从 Java 中隐藏 Kotlin 的 lateinit var 支持字段?

如何在 Kotlin 中为变量设置监听器

Gradle:无法连接到 Windows 上的 Kotlin 守护程序

Kotlin数据类打包

在多平台子元素中使用kapt