Kotlin Application Android compilation a échoué avec le message: non résolus référence: kotlinx
Je suis en train de tester une base de Kotlin-fondé de l'application pour Android basé sur les instructions de la section "Kotlin pour les Développeurs Android" livre. Je suis l'aide d'Android Studio 2.1.1.
J'ai la génération suivante.classe (du Projet: WeatherApp) configuration:
allprojects {
repositories {
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
J'ai la génération suivante.niveau (Module:App) de l'installation:
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
buildscript {
ext.support_version = '23.1.1'
ext.kotlin_version = '1.0.2'
ext.anko_version = '0.8.2'
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.1.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath "org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version"
//NOTE: Do not place your application dependencies here; they belong
//in the individual module build.gradle files
}
}
android {
compileSdkVersion 23
buildToolsVersion "23.0.1"
defaultConfig {
applicationId "com.qtimemedia.weatherapp"
minSdkVersion 15
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
sourceSets {
main.java.srcDirs += 'src/main/kotlin'
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.4.0'
compile 'org.jetbrains.anko:anko-sdk23:0.8.3'
compile 'org.jetbrains.anko:anko-appcompat-v7:0.8.3'
compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
}
repositories {
mavenCentral()
}
J'ai le texte suivant MainActivity.kt code:
package com.qtimemedia.weatherapp
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import kotlinx.android.synthetic.main.activity_main.*
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
message.text = "Hello Kotlin!"
}
}
Voici mon activity_main.xml code:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.qtimemedia.weatherapp.MainActivity">
<TextView
android:id="@+id/message"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />
</RelativeLayout>
Voici mon strings.xml code:
<resources>
<string name="app_name">WeatherApp</string>
<string name="hello_world">"Hello World!"</string>
</resources>
Je suis en train de lancer mon MainActivity en utilisant le Nexus 6 API 23 émulateur. J'ai l'option "Outils >> Android >> Permettre à la BAD d'Intégration" cochée (j'ai essayé cela avec un tel bien). L'émulateur semble fonctionner, mais mon application ne semble pas être le chargement en raison d'un échec lors de la construction. Lors de l'exécution de l'émulateur, je vois les messages suivants dans le "4: Exécuter" de la fenêtre:
C:\Users\Owner\AppData\Local\Android\sdk\tools\emulator.exe -netdelay none -netspeed full -avd Nexus_6_API_23
Warning: requested ram_size 1536M too big, reduced to 1024M
emulator: WARNING: Crash service did not start
emulator: WARNING: VM heap size set below hardware specified minimum of 384MB
emulator: WARNING: Setting VM heap size to 384MB
Hax is enabled
Hax ram_size 0x40000000
HAX is working and emulator runs in fast virt mode.
console on port 5554, ADB on port 5555
Je vois les opérations suivantes dans la fenêtre Journal d'Événements:
11:26:05 PM Gradle sync started
11:26:15 PM Gradle sync completed
11:26:16 PM Executing tasks: [:app:generateDebugSources, :app:generateDebugAndroidTestSources, :app:mockableAndroidJar, :app:prepareDebugUnitTestDependencies]
11:26:34 PM Gradle build finished in 18s 266ms
11:35:55 PM Executing tasks: [:app:clean, :app:generateDebugSources, :app:generateDebugAndroidTestSources, :app:mockableAndroidJar, :app:prepareDebugUnitTestDependencies, :app:assembleDebug]
11:39:04 PM Gradle build finished with 3 error(s) in 3m 8s 551ms
Je les éléments suivants dans le Gradle fenêtre de la Console:
e: C:\Users\Owner\AndroidStudioProjects\WeatherApp\app\src\main\java\com\qtimemedia\weatherapp\MainActivity.kt: (5, 8): Unresolved reference: kotlinx
e: C:\Users\Owner\AndroidStudioProjects\WeatherApp\app\src\main\java\com\qtimemedia\weatherapp\MainActivity.kt: (12, 9): Unresolved reference: message
FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:compileDebugKotlin'.
> Compilation error. See log for more details
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
BUILD FAILED
Total time: 3 mins 5.237 secs
Dans la section des Messages, je vois les suivantes:
C:\Users\Owner\AndroidStudioProjects\WeatherApp\app\src\main\java\com\qtimemedia\weatherapp\MainActivity.kt
Error:(5, 8) Unresolved reference: kotlinx
Error:(12, 9) Unresolved reference: message
Error:Execution failed for task ':app:compileDebugKotlin'.
> Compilation error. See log for more details
Information:BUILD FAILED
Information:Total time: 3 mins 5.237 secs
Information:3 errors
Information:0 warnings
Information:See complete output in console
Comment puis-je obtenir l'application de compiler correctement?
Salut miensol, j'ai ajouté un certain nombre de messages de débogage dans le fichier de description ci-dessus. Les principaux enjeux sont: (1) échec de l'Exécution de la tâche:app:compileDebugKotlin', (2) référence non résolue: kotlinx e:, et (3) référence non résolue: message.
La pâte journal montre clairement qu'il y a une erreur de compilation, c'est la première chose à résoudre. Essayez de ceci et laissez-nous savoir si cela a aidé.
Pouvez-vous coller votre haut niveau
build.gradle
fichier? Celui où vous avez un buildscript {}
bloc.J'ai mis à jour le construire.gradle fichiers basé sur le lien que vous avez fourni et mis à jour toutes les sorties à partir de la sortie de la ré-exécution de l'application. Il semble encore une erreur de compilation malheureusement. Merci pour votre aide à ce sujet.
OriginalL'auteur MLev | 2016-05-21
Vous devez vous connecter pour publier un commentaire.
Voir la réponse suivante: https://stackoverflow.com/a/36526153/256513
Vous avez besoin de déplacer le kotlin buildscript section de votre projet
build.gradle
à votre modulebuild.gradle
fichier.OriginalL'auteur hleb
importer le fichier de mise en page à partir d'une de la R de l'extension.
comme ce
OriginalL'auteur