Estoy tratando de compilar una aplicación de Android de muestra ( fuente original ) escrita en kotlin en la línea de comando.
La versión de Java compila sin problemas.
Este es el diseño de la jerarquía de archivos:
. ├── AndroidManifest.xml ├── bin ├── mykey.keystore ├── obj │ └── com │ └── example │ └── helloandroid ├── res │ ├── drawable │ ├── layout │ │ └── activity_main.xml │ └── values │ └── strings.xml └── src └── com └── example └── helloandroid ├── MainActivity.java └── MainActivity.ktSi compilo la versión de Java, emito los siguientes comandos:
aapt package -f -m -J ./src -M ./AndroidManifest.xml -S ./res -I /opt/android-sdk/platforms/android-28/android.jarjavac -d obj -classpath src -bootclasspath /opt/android-sdk/platforms/android-28/android.jar src/com/example/helloandroid/*.javadx --dex --output=./bin/classes.dex ./objaapt package -f -m -F ./bin/hello.unaligned.apk -M ./AndroidManifest.xml -S ./res -I /opt/android-sdk/platforms/android-28/android.jarcp ./bin/classes.dex .aapt add ./bin/hello.unaligned.apk classes.dexapksigner sign --ks mykey.keystore ./bin/hello.apkAhora la pregunta es: ¿Cómo replicaría ese "flujo de trabajo" con kotlin?
Según tengo entendido, los únicos pasos que necesito cambiar son los dos primeros. Necesito generar un archivo R.kt , porque de lo contrario, R no está definido y el paso dos donde compilo las fuentes en clases. Después de eso no debería haber diferencia?
No quiero usar gradle. Solo quiero entender cómo puedo usar las utilidades de la línea de comandos.
Gracias de antemano por cualquier respuesta útil: D
EDITAR: The Source está completamente en Kotlin, no es una combinación de Java + Kotlin como sugirió shkschneider. MainActivity.java es esencialmente el mismo código que MainActivity.kt Solo quiero cambiar a Kotlin.
Resolví el Problema. El archivo R.kt debe generarse a través del IDE de JetBrains desde el archivo R.java , ya que no proporcionan una herramienta independiente. Si alguien conoce uno, por favor comparta un enlace :D