Reputation: 370
Im trying to use Kotlin with Android Studio 3.0 with my existing project. I have created a fragment using kotlin. Im trying to use the kotlin fragment in my Java Activity. But everytime i try to run it I get
Error:(209, 5) error: cannot find symbol class BlankFragment
BlankFragment.kt
import android.content.Context
import android.net.Uri
import android.os.Bundle
import android.support.v4.app.Fragment
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
class BlankFragment : Fragment() {
// TODO: Rename and change types of parameters
private var mParam1: String? = null
private var mParam2: String? = null
private var mListener: OnFragmentInteractionListener? = null
public override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
if (getArguments() != null) {
mParam1 = getArguments().getString(ARG_PARAM1)
mParam2 = getArguments().getString(ARG_PARAM2)
}
}
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup, savedInstanceState: Bundle?): View
= FragmentUi<Fragment>().createView(AnkoContext.create(ctx, this))
}
class FragmentUi<T>: AnkoComponent<T> {
override fun createView(ui: AnkoContext<T>) = with(ui) {
verticalLayout {
textView {
text = R.string.app_name
}
}
}
}
project - build.gradle
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
ext.kotlin_version = '1.1.1'
ext.anko_version = '0.10.1'
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.0.0-alpha5'
classpath 'com.google.gms:google-services:3.0.0'
classpath "io.realm:realm-gradle-plugin:3.0.0"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
app build.gradle
apply plugin: 'com.android.application'
apply plugin: 'realm-android'
android {
signingConfigs {
splits {
abi {
enable true //enables the ABIs split mechanism
reset() //reset the list of ABIs to be included to an empty string
include 'x86', 'armeabi', 'armeabi-v7a', 'mips', 'x86_64', 'arm64-v8a'
universalApk true
}
}
project.ext.versionCodes = ['armeabi': 1, 'armeabi-v7a': 2, 'arm64-v8a': 3, 'mips': 5, 'mips64': 6, 'x86': 8, 'x86_64': 9]
android.applicationVariants.all { variant ->
variant.outputs.each { output ->
output.versionCodeOverride =
project.ext.versionCodes.get(output.getFilter(
com.android.build.OutputFile.ABI), 0) * 10000000 + android.defaultConfig.versionCode
}
}
}
compileSdkVersion 25
buildToolsVersion '26'
defaultConfig {
applicationId "com.example"
minSdkVersion 15
targetSdkVersion 23
versionCode 20
versionName "v.32"
testInstrumentationRunner 'android.support.test.runner.AndroidJUnitRunner'
multiDexEnabled true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.releaseConfig
}
}
packagingOptions {
exclude 'LICENSE.txt'
}
repositories {
maven { url "https://jitpack.io" }
}
lintOptions {
disable "ResourceType"
}
dexOptions {
javaMaxHeapSize "4g"
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
testCompile 'junit:junit:4.12'
compile 'com.google.android.gms:play-services:10.2.6'
compile 'com.android.support:design:25.3.1'
compile 'com.android.support:appcompat-v7:25.3.1'
compile 'com.android.support:cardview-v7:25.3.1'
compile 'com.google.code.gson:gson:2.6.2'
// compile 'io.realm:realm-android:0.87.5'
compile 'com.android.support:recyclerview-v7:25.3.1'
compile 'com.github.jkwiecien:EasyImage:1.3.1'
compile 'com.mcxiaoke.volley:library:1.0.19'
compile 'com.yarolegovich:lovely-dialog:1.0.4'
compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'
compile 'com.github.ParkSangGwon:TedPermission:v1.0.12'
compile 'com.github.lovetuzitong:MultiImageSelector:1.2'
compile 'com.github.piotrek1543:CustomSpinner:0.1'
compile 'com.github.ganfra:material-spinner:1.1.1'
compile 'com.getbase:floatingactionbutton:1.10.1'
compile 'com.appyvet:materialrangebar:1.3'
compile 'com.afollestad.material-dialogs:core:0.9.4.5'
compile 'com.mixpanel.android:mixpanel-android:4.+'
compile 'com.github.ericwlange:AndroidJSCore:3.0.1'
compile 'com.android.support:multidex:1.0.0'
androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
}
compile "org.jetbrains.anko:anko-sdk25:$anko_version"
compile "org.jetbrains.anko:anko-sdk25-coroutines:$anko_version"
compile "org.jetbrains.anko:anko-appcompat-v7:$anko_version"
compile files('libs/bcpkix-jdk15on-1.56.0.0.jar')
compile files('libs/core-1.56.0.0.jar')
compile files('libs/prov-1.56.0.0.jar')
}
apply plugin: 'com.google.gms.google-services'
Upvotes: 0
Views: 847
Reputation: 370
Finally was able to get it working. For anyone who is going through a similar problem.
project build.gradle
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
ext.kotlin_version = '1.1.3'
ext.anko_version = '0.10.1'
repositories {
jcenter()
}
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath 'com.android.tools.build:gradle:3.0.0-alpha5'
classpath 'com.google.gms:google-services:3.0.0'
classpath "io.realm:realm-gradle-plugin:3.0.0"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
google()
jcenter()
mavenCentral()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
app build.gradle
apply plugin: 'com.android.application'
apply plugin: 'realm-android'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
android {
signingConfigs {
splits {
abi {
enable true //enables the ABIs split mechanism
reset() //reset the list of ABIs to be included to an empty string
include 'x86', 'armeabi', 'armeabi-v7a', 'mips', 'x86_64', 'arm64-v8a'
universalApk true
}
}
project.ext.versionCodes = ['armeabi': 1, 'armeabi-v7a': 2, 'arm64-v8a': 3, 'mips': 5, 'mips64': 6, 'x86': 8, 'x86_64': 9]
android.applicationVariants.all { variant ->
variant.outputs.each { output ->
output.versionCodeOverride =
project.ext.versionCodes.get(output.getFilter(
com.android.build.OutputFile.ABI), 0) * 10000000 + android.defaultConfig.versionCode
}
}
}
compileSdkVersion 25
buildToolsVersion '26'
defaultConfig {
applicationId "com.example"
minSdkVersion 15
targetSdkVersion 23
versionCode 20
versionName "v.32"
testInstrumentationRunner 'android.support.test.runner.AndroidJUnitRunner'
multiDexEnabled true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.releaseConfig
}
}
packagingOptions {
exclude 'LICENSE.txt'
}
repositories {
maven { url "https://jitpack.io" }
}
lintOptions {
disable "ResourceType"
}
dexOptions {
javaMaxHeapSize "4g"
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
testCompile 'junit:junit:4.12'
compile 'com.google.android.gms:play-services:10.2.6'
compile 'com.android.support:design:25.3.1'
compile 'com.android.support:appcompat-v7:25.3.1'
compile 'com.android.support:cardview-v7:25.3.1'
compile 'com.google.code.gson:gson:2.6.2'
// compile 'io.realm:realm-android:0.87.5'
compile 'com.android.support:recyclerview-v7:25.3.1'
compile 'com.github.jkwiecien:EasyImage:1.3.1'
compile 'com.mcxiaoke.volley:library:1.0.19'
compile 'com.yarolegovich:lovely-dialog:1.0.4'
compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'
compile 'com.github.ParkSangGwon:TedPermission:v1.0.12'
compile 'com.github.lovetuzitong:MultiImageSelector:1.2'
compile 'com.github.piotrek1543:CustomSpinner:0.1'
compile 'com.github.ganfra:material-spinner:1.1.1'
compile 'com.getbase:floatingactionbutton:1.10.1'
compile 'com.appyvet:materialrangebar:1.3'
compile 'com.afollestad.material-dialogs:core:0.9.4.5'
compile 'com.mixpanel.android:mixpanel-android:4.+'
compile 'com.github.ericwlange:AndroidJSCore:3.0.1'
compile 'com.android.support:multidex:1.0.0'
androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
}
compile "org.jetbrains.anko:anko-sdk25:$anko_version"
compile "org.jetbrains.anko:anko-sdk25-coroutines:$anko_version"
compile "org.jetbrains.anko:anko-appcompat-v7:$anko_version"
implementation"org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
compile files('libs/bcpkix-jdk15on-1.56.0.0.jar')
compile files('libs/core-1.56.0.0.jar')
compile files('libs/prov-1.56.0.0.jar')
}
apply plugin: 'com.google.gms.google-services'
Upvotes: 1
Reputation: 89578
You seem to be missing all Kotlin dependencies other than having the version declared (you should probably update that to 1.1.3
as well, which is the latest available as of now).
You can configure your project in two ways:
Tools -> Kotlin -> Configure Kotlin in Project
, and follow the steps presented there.Upvotes: 1