在命令行(没有Android Studio)上开发Android Kotlin应用程序与Android Java应用程序



我正在尝试编译命令行上Kotlin中写的sample Android应用程序(原始源)。

IT的Java版本没有问题。

这是文件层次结构布局:

.
├── 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.kt

如果我编译了Java版本,我会发出以下命令:

  1. aapt package -f -m -J ./src -M ./AndroidManifest.xml -S ./res -I /opt/android-sdk/platforms/android-28/android.jar
  2. javac -d obj -classpath src -bootclasspath /opt/android-sdk/platforms/android-28/android.jar src/com/example/helloandroid/*.java
  3. dx --dex --output=./bin/classes.dex ./obj
  4. aapt package -f -m -F ./bin/hello.unaligned.apk -M ./AndroidManifest.xml -S ./res -I /opt/android-sdk/platforms/android-28/android.jar
  5. cp ./bin/classes.dex .
  6. aapt add ./bin/hello.unaligned.apk classes.dex
  7. apksigner sign --ks mykey.keystore ./bin/hello.apk
  8. 通过ADB在Google Pixel上安装该应用程序,并且起作用。

现在的问题是:我如何用kotlin复制"工作流程"?

据我了解,据我了解,我需要更改的唯一步骤是前两个。我需要生成一个R.kt文件,因为否则R是未定义的,第二步我实际上将源编译为类。之后应该没有区别?

我不想使用gradle。我只想了解如何使用命令行utils。

事先感谢您的任何有用的答案:D

编辑:源完全在Kotlin中,而不是Shkschneider所建议的Java Kotlin的混合。mainActivity.java本质上是与MainActivity.kt我只想切换到Kotlin的代码。

我解决了问题。R.kt文件必须通过R.java文件通过JETBRAINS IDE生成,因为它们不提供独立工具。如果有人知道一个,请分享一个链接:D

相关内容

最新更新