I am trying to add a epub reader library to a project I have already created. The library I am trying to add to my project as a moduel is the Folio Reader Library (https://github.com/FolioReader/FolioReader-Android). I have downloaded this library on my computer and have tried adding it through File -> New -> Import Module. However, during the process I receive this error:
ERROR: Plugin with id 'kotlin-android' not found.
This file is located in the build.gradle file of the Folio Reader Library.
build.gradle file:
apply plugin: 'com.android.library'
apply from: '../config/quality/quality.gradle'
apply plugin: 'com.github.dcendents.android-maven'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
ext {
bintrayRepo = 'maven'
bintrayName = 'folioreader'
publishedGroupId = 'com.folioreader'
libraryName = 'FolioReader'
artifact = 'folioreader'
libraryDescription = 'An epub reader for Android'
siteUrl = 'https://github.com/FolioReader/FolioReader-Android'
gitUrl = 'https://github.com/FolioReader/FolioReader-Android.git'
libraryVersion = versions.folioreaderSdk
developerId = 'mobisystech'
developerName = 'Folio Reader'
developerEmail = '[email protected]'
licenseName = 'FreeBSD License'
licenseUrl = 'https://en.wikipedia.org/wiki/FreeBSD_Documentation_License#License'
allLicenses = ["FreeBSD"]
}
android {
useLibrary 'org.apache.http.legacy'
compileSdkVersion versions.androidCompileSdk
defaultConfig {
minSdkVersion versions.androidMinSdk
targetSdkVersion versions.androidTargetSdk
versionCode versions.projectVersionCode
versionName versions.projectVersionName
vectorDrawables.useSupportLibrary = true
}
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src/main/java']
res.srcDirs = ['res']
}
test {
java.srcDirs = ['src/test/java']
}
}
packagingOptions {
exclude 'META-INF/ASL2.0'
exclude 'META-INF/DEPENDENCIES.txt'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE.txt'
exclude 'META-INF/NOTICE'
exclude 'META-INF/LICENSE'
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/notice.txt'
exclude 'META-INF/license.txt'
exclude 'META-INF/dependencies.txt'
exclude 'META-INF/LGPL2.1'
exclude 'META-INF/services/javax.annotation.processing.Processor'
}
lintOptions {
abortOnError false
lintConfig file("lint.xml")
}
checkstyle {
ignoreFailures = true
}
}
apply from: '../folioreader/bintray/installv1.gradle'
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation "androidx.appcompat:appcompat:$versions.appcompat"
implementation "androidx.constraintlayout:constraintlayout:$versions.constraintLayout"
implementation "androidx.recyclerview:recyclerview:$versions.recyclerview"
implementation "com.google.android.material:material:$versions.material"
testImplementation 'junit:junit:4.12'
implementation 'org.slf4j:slf4j-android:1.7.25'
implementation 'com.daimajia.swipelayout:library:1.2.0@aar'
//Kotlin
implementation "org.jetbrains.kotlin:kotlin-stdlib:$versions.kotlin"
implementation 'org.greenrobot:eventbus:3.1.1'
implementation "com.fasterxml.jackson.core:jackson-core:$versions.jackson"
implementation "com.fasterxml.jackson.core:jackson-annotations:$versions.jackson"
implementation "com.fasterxml.jackson.core:jackson-databind:$versions.jackson"
implementation "com.fasterxml.jackson.module:jackson-module-kotlin:$versions.jackson"
implementation "com.google.code.gson:gson:$versions.gson"
implementation "com.squareup.retrofit2:retrofit:$versions.retrofit"
implementation "com.squareup.retrofit2:converter-jackson:$versions.retrofit"
implementation "com.squareup.retrofit2:converter-gson:$versions.retrofit"
// R2 modules
api("com.github.codetoart:r2-shared-kotlin:$versions.r2SharedKotlin") {
changing = true
}
api("com.github.codetoart:r2-streamer-kotlin:$versions.r2StreamerKotlin") {
exclude group: "org.slf4j", module: "slf4j-api"
changing = true
}
// Only ReflectionUtils in Spring framework is used
implementation 'org.springframework:spring-core:4.3.19.RELEASE'
// Lifecycle
implementation "androidx.lifecycle:lifecycle-
extensions:$versions.lifecycle"
}
apply from: '../folioreader/bintray/bintrayv1.gradle'
I have tried some of the answers posted here but they do not work. How can I solve this problem?
EDIT:
I added
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.4-3"
in my dependencies and have received the following error:
ERROR: Could not get unknown property 'versions' for object of type org.gradle.api.internal.plugins.DefaultExtraPropertiesExtension.
it is occuring on line 20 on the same build.gradle file:
libraryVersion = versions.folioreaderSdk
updating to newer version does not work:
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.40"
Use the library base artifact name, such as kotlinx-coroutines-core . If you use a kotlinx library and need a platform-specific dependency, you can use platform-specific variants of libraries with suffixes such as -jvm or -js , for example, kotlinx-coroutines-core-jvm .
Gradle's Kotlin DSL provides an alternative syntax to the traditional Groovy DSL with an enhanced editing experience in supported IDEs, with superior content assist, refactoring, documentation, and more.
Looking at the library structure on Github, it seems you need to do the following
Note: in case you haven't worked with External
variables syntax before, you can find those variables for this library in the root directory of the github repository.
In this case, writing
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$versions.kotlin"`
will resolve to the following (you can directly write this in your project)
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.11"
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