मैं नए सार्वजनिक रूप से रिलीज़ किए गए एंड्रॉइड इंस्टेंट ऐप्स को गठबंधन करने की कोशिश कर रहा हूं कोटलिन प्रोग्रामिंग भाषा। निम्नलिखित (मानक?) सेटअप का उपयोग करके मेरी प्रोजेक्ट बनाने के बाद, मुझे संदेश के साथ त्रुटि मिलती है "जब मैं एप्लिकेशन बनाने का प्रयास करता हूं तो शून्य को गैर-शून्य प्रकार com.android.build.gradle.BasePlugin" पर नहीं डाला जा सकता है। कोटलिन का उपयोग मानक 'com.android.application' मॉड्यूल के साथ ठीक काम करता है; त्रुटि केवल तब फेंक दी जाती है जब मैं इसे त्वरित ऐप मॉड्यूल में उपयोग करने का प्रयास करता हूं।एक त्वरित ऐप में प्लगइन 'कोटलिन-एंड्रॉइड' को लागू करने के परिणामस्वरूप "शून्य को गैर-शून्य प्रकार com.android.build.gradleBasePlugin पर नहीं डाला जा सकता है"
उच्च-स्तरीय build.gradle:
buildscript {
repositories {
maven { url 'https://maven.google.com' }
jcenter()
}
dependencies {
classpath "com.android.tools.build:gradle:3.0.0-alpha1"
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.2-4"
}
}
// ...
एप्लिकेशन मॉड्यूल build.gradle, जिसमें Kotlin करता काम:
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android' // This will work.
android {
compileSdkVersion 25
buildToolsVersion "25.0.2"
defaultConfig {
// ...
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation project(':feature')
implementation project(':base')
}
आधार मॉड्यूल build.gradle, जिसमें Kotlin नहीं है काम:
apply plugin: 'com.android.feature'
apply plugin: 'kotlin-android' // This won't work.
android {
compileSdkVersion 25
buildToolsVersion "25.0.2"
baseFeature true
defaultConfig {
// ...
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
feature project(':tracker')
compile 'com.android.support:appcompat-v7:25.+'
compile 'com.android.support.constraint:constraint-layout:1.0.2'
// Kotlin standard library.
compile "org.jetbrains.kotlin:kotlin-stdlib:${gradleKotlinVersion}"
}
instantapp मॉड्यूल build.gradle:
apply plugin: 'com.android.instantapp'
dependencies {
implementation project(':feature')
implementation project(':base')
}
सुविधा मॉड्यूल build.gradle:
apply plugin: 'com.android.feature'
android {
compileSdkVersion 25
buildToolsVersion "25.0.2"
defaultConfig {
// ...
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
implementation project(':base')
testCompile 'junit:junit:4.12'
}
फिर से, ऐप मॉड्यूल इस कॉन्फ़िगरेशन के साथ समस्याओं के बिना संकलित करता है; दूसरी तरफ, एंड्रॉइड स्टूडियो/ग्रैडल मुझे यह अजीब देता है "नल को गैर-शून्य प्रकार com.android.build.gradle.BasePlugin" त्रुटि संदेश पर नहीं डाला जा सकता है, निर्भरताओं को फिर से डाउनलोड करने और प्रोजेक्ट को सिंक करने के सुझावों के साथ (किया गया) या एंड्रॉइड स्टूडियो को पुनरारंभ करें।
क्या तत्काल ऐप्स वास्तव में कोटलिन प्रोग्रामिंग भाषा के साथ संगत हैं? मैं आपके उत्तरों की प्रतीक्षा कर रहा हूं :)
पीएस: मैं एंड्रॉइड स्टूडियो 3.0 कैनरी 1 का उपयोग करता हूं, कैनरी चैनल फॉर बिल्ड टूल्स इत्यादि से स्थापित नवीनतम अपडेट के साथ। मेरा कोटलिन प्लगइन भी अद्यतित होना चाहिए ।
मैं बहुत ज्यादा चिंता नहीं करता कि यह अभी काम नहीं करता है। मैं अभी भी एक सामान्य ऐप (कोटलिन भी) नहीं बना सकता क्योंकि transform.assroidWithDexBuilderForDebug com.android.build विभाग में कुछ अपवाद के कारण लगातार असफल रहा है। मैंने इन मुद्दों को प्लगइन 2.3.2 को क्रमबद्ध करके वापस कर दिया है, लेकिन दुख की बात है कि आप उन्नत प्रोफाइलर समर्थन –
खो रहे हैं क्या आपको इस मुद्दे के लिए समाधान मिला है? – qpator
बिलकुल नहीं। मैंने Google के जारीकर्ता ट्रैकर पर इस मुद्दे की सदस्यता ली है और मैं समस्या पर उनके पक्ष से एक अद्यतन की प्रतीक्षा कर रहा हूं। –