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:
classpath "org.jetbrains.kotlin:kotlin-android-extensions:1.0.2"
in the dependencies section;compile "org.jetbrains.kotlin:kotlin-stdlib:1.0.2"
in the dependencies section;error: cannot find symbol class Chat
. Below are the original class, the converted class and the log: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);
}
}
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
}
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
To convert Java code to Kotlin, open the Java file in Android Studio, and select Code > Convert Java File to Kotlin File. Alternatively, create a new Kotlin file (File > New > Kotlin File/Class), and then paste your Java code into that file.
java . For each primitive type, there are two different Java classes, and Kotlin provides ways to get both. For example, Int::class. java will return the class instance representing the primitive type itself, corresponding to Integer.
The cannot find symbol error, also found under the names of symbol not found and cannot resolve symbol , is a Java compile-time error which emerges whenever there is an identifier in the source code which the compiler is unable to work out what it refers to.
:: is just a way to write a lambda expression basically we can use this to refer to a method i.e a member function or property for example class Person (val name: String, val age: Int) Now we can write this to access the person which has the maximium age.
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!
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With