Kotlin in Eclipse verwenden?

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Kotlin in Eclipse verwenden?

    Hallo zusammen,

    ich habe mir schon vor längerer Zeit ein paar Java-Klassen gebaut, mit denen ich meine Apps auch in Eclipse testen kann. Weil ich jetzt neulich auf Kotlin umgestiegen bin, will ich das auch gerne bei meinen Kotlin-Apps weiter benutzen.

    Mein Problem ist jetzt, dass ich in Eclipse schon das Kotlin-Plugin installiert habe und in meinem Projekt auch die Kotlin Libraries etc. vorhanden sind, ich es aber nicht schaffe, eine Kotlin-Datei zu starten:

    Mein erster Test war folgende Datei:

    Quellcode: KnightAndDayApplication.kt

    1. package de.rsdevstudio.knightandday
    2. fun main(args: Array<String>) {
    3. println("Hello, World!")
    4. }

    Das habe ich zwischendurch (kA, wie) zum laufen bekommen, aber jetzt im Moment habe ich wieder diese Fehlermeldung:
    Error: Could not find or load main class de.rsdevstudio.knightandday.KnightAndDayApplicationKt
    Caused by: java.lang.ClassNotFoundException: de.rsdevstudio.knightandday.KnightAndDayApplicationKt


    Und selbst, als ich diesen einfachen Code zum laufen bekommen hatte, sobald ich die MainActivity meiner App dort eingebunden habe, so, wie ich es auch bei meinen Java-Apps gemacht habe, kam im Prinzip dieselbe Fehlermeldung, nur dass da dann "MainActivity" als Caused by stand.

    Meine Vermutung ist, dass Eclipse irgendwie die .kt Dateien nicht in .class Dateien umwandelt, obwohl es das tun sollte. Vielleicht ist das einfach nur eine Einstellung bei den Run Configurations. Kennt sich da jemand von euch aus?
    Grüße

    Robert
  • Neu

    Hallo
    Man kann zwar in Eclipse auch Android Programme Schreiben nur ist das seit geraumer zeit nicht mehr zu empfehlen. Seit Android 6 wird das ADT Plugin für Eclipse nicht mehr unterstützt eine Aktuelle App wirst du damit nicht mehr erstellen können auch nicht mit Kotlin .


    Klar gibt es ein Plugin um mit Eclipse in Kotlin zu arbeiten nur für Android fehlt dir das SDK. Das war das ADT was es nicht mehr gibt.


    Aber in Adroid gibt es keine „main“ Methode Funktion das ist für ein Desktop Programm, der Programm Start nicht für Android . Android ist ein FrameWork und da ist der Programm start die Activity und die hat keine „main“ Methode weder in Java noch in Kotlin.


    Du kannst zwar im Studio eine Main Methode in Java oder auch in Kolin erstellen und diese auch mit dem grünen Pfeil starten nur ist es in diesem Moment keine Activity die von Android gestartet werden kann. Du benutzt in diesem fall das Studio als wäre es die normale Intelli J IDE.


    Du kannst nicht eine Desktop Anwendung und Android mischen. Auch wenn es für dich im studio so aussieht das das geht. Dann schaue mal oben was bei Build steht wenn du auf den grünen Pfeil bei der Main Funktion Klicks und somit die Main startest als währe es eine Desktop Anwendung. Da steht mit Sicherheit nicht APP APK


    Eclipse und Android macht absolut keinen Sinn mehr.
    Ein Feedback auf Tipps ist auch schön. :P

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von jogimuc ()

  • Neu

    Hi jogimuc,

    ok, also eine komplett funktionierende App werde ich mit Eclipse nicht machen können, egal ob mit Java oder Kotlin. ^^

    Was mich aber bei meinem Problem oben stutzig macht, ist, dass es ja theoretisch von Android unabhängig ist. Ich habe ja so gesehen schon eine funktionierende Java-Application, die in Eclipse läuft, aber wenn ich da jetzt eine Kotlin-Datei hinzufüge und die ausführen will, gibt es Probleme, obwohl ich das Kotlin Add-On installiert und die notwendigen Libraries meinem Projekt hinzugefügt habe.

    Ich hatte auch schon versucht, zuerst ein neues Kotlin-Projekt anzulegen, und da dann meine Java-Klassen einzufügen, aber das führt irgendwie alles zu demselben Fehler, deswegen habe ich ja die Vermutung, dass man Eclipse noch irgendwie sagen muss, dass sowohl Java- als auch Kotlin-Dateien kompiliert werden müssen, wenn das Projekt ausgeführt wird.
    Grüße

    Robert
  • Neu

    Hallo mal eine grundlegende Frage.

    Unter welcher API version willst du mit Eclipse arbeiten ? wie gesagt ab der API (SDK) Version 23 ist es vorbei mit dem ADT. Eine App mit SDK 22 unterstützt das ADT noch .Eein ordentlicher Build Prozess ab 22 findet dann nicht mehr statt.

    Das ADT was den Build Prozess steuert und die SDK Bibliotheken hinzubindetkann mit Kotlin nicht umgehen.

    Es geht zwar auch in Eclipse mit Kotlin zu arbeiten und auch da Java Klassen einzubinden aber eben nur für eine Desktop Anwendung .

    Java und auch Kotlin benutzen zwar Byte Code aber bei Andoid wird aus Lizenzrechtlichen Gründen nicht der gleiche Byte Code benutz wie zb auf dem PC.

    Es wird zuerst Java in Bytecode Übersetzt und dann in den Dalvik Bytecode der dann auf Android Läuft und dazu wird unter anderen auch das SDK gebraucht.

    Bei Kotlin finden noch zwischen schritte statt die das ADT von Eclipse nicht kann.


    Eine Kotlin datei wird normalerweise nicht in eine .calss übersetzt der apk Builder erzeugt dann aus allen einzelnen Dateien das DEX Delvik ByteCode. Oder auch die neuere Variante Art eine neuere runtime Umgebung für Android. Das kann das ADT auch nicht.



    Kurtz um du kannst Kotlin Eclipse und Android vergessen.
    Ein Feedback auf Tipps ist auch schön. :P

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von jogimuc ()

  • Neu

    Mal noch was am Rande. Ist es dir denn überhaupt gelungen eine in kotlin geschriebene activity zu kompilieren und läuft die auch?
    Die sdk version lassen wir mal außen vor. 22 kann ja das ADT.

    Ich meine eine richtige kotlin Klasse abgeleitet von Activity ohne einer Main Methode.
    Mit Layout, Manifest.......


    Quellcode

    1. class MyActivity : AppCompatActivity() {
    2. override fun onCreate(savedInstanceState: Bundle?) {
    3. super.onCreate(savedInstanceState)
    4. setContentView(R.layout.activity)
    5. }
    6. }
    Das wäre ein absulut einfaches android activity in kotlin.
    Wass du hast ist kotlin aber nicht für Android.

    Bei dir wird sozusagen ein anderer build Prozeß gestartet als er unter Android üblich ist.
    Deshalb giebt es auch das ADT. Damit eclipse das such kann. Und das ist veraltet und wird mit Sicherheit mit kotlin nicht klar kommen. Zu dem Zeitpunkt als das ADT nicht mehr weiter Entwicklet wurde war kotlin wol noch gar nicht richtig am Start. Kannst das ja mal nachschauen.

    In Android studio ist das alles schon integriert.
    Bei dem normalen intelli j musst du auch ein plugin installieren damit es android kann. Das ist auch bei anderen IDE s so.
    Ein Feedback auf Tipps ist auch schön. :P
  • Neu

    Hallo hier mal ein einfaches Beispiel was ich in Eclipse erstellt habe.
    Das ist eine einfache Anwendung nicht für Android. Mit einer Java Klasse.
    Die auch aus Einer Kotlin Kasse aufgerufen wird.

    Zu Eclipse muss ich leider sagen das ich die Bedienung nicht besonders finde und deshalb bei IntelliJ bleibe.
    Eine actuelle Android App geht damit auch nicht ganz geich ob Java oder Kotlin.

    Eclipse macht nur für Dektop sinn.
    Aber das get mit Intelli J auch.

    Solten deine Java Datein nicht im selben Package sein denke an den Import.
    Dateien
    • kt.zip

      (6,46 kB, 1 mal heruntergeladen, zuletzt: )
    Ein Feedback auf Tipps ist auch schön. :P

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von jogimuc ()