java - Hello world OpenGL Kotlin 应用程序,在 Mac 上使用 kotlinc for Android,或使用 Gradle 和 Java
问题描述
我已经用最新的东西安装了 android :
brew install ant
brew install maven
brew install gradle
brew install android-sdk
brew install android-ndk
brew install kotlin
我有一个简单的 hello worldexample.kt
文件,如下所示:
package foo.bar
fun ms() : Long {
return System.currentTimeMillis()
}
像test.kt
这样:
package foo.bar
fun main(args: Array<String>) {
println(ms())
}
它是这样编译和运行的:
kotlinc src -include-runtime -d test.jar
kotlin test.jar
接下来我想在 Android 上使用 OpenGL 显示一个三角形。一个基本的 hello world 示例。我已经检查了很多资源,但还没有看到如何使用Activity实际编译Activitykotlinc
,这似乎是 Android 中的主要“应用程序对象”。
- https://github.com/egslava/example-Kotlin-Android-GLSurfaceView
- https://github.com/jvm-graphics-labs/hello-triangle
- https://github.com/jvm-graphics-labs/hello-triangle/blob/master/src/main/kotlin/gl4/helloTriangle.kt
- https://github.com/JetBrains/kotlin-native/blob/master/samples/opengl/src/openglMain/kotlin/OpenGlTeapot.kt
- https://github.com/egslava/example-Kotlin-Android-GLSurfaceView/blob/master/app/src/main/java/ru/egslava/tutorialglsurfaceview/MainActivity.kt
- https://github.com/bnlrnz/MandelGL
- https://github.com/bnlrnz/MandelGL/blob/master/app/src/main/java/de/tubaf/mandelGL/MandelGLRenderer.kt
- https://www.codementor.io/joshuaaroke/android-kotlin-vs-java-by-example-part-1-simple-hello-world-a899inz3o
- https://medium.com/@passsy/starting-activities-with-kotlin-my-journey-8b7307f1e460
- https://medium.com/@FizzyInTheHall/building-an-android-activity-from-scratch-with-kotlin-a5c0f5b6520a
- Kotlin Android 开始新活动
- https://developer.android.com/training/graphics/opengl/environment.html
- https://github.com/JimSeker/opengl/blob/master/HelloOpenGLES20/app/src/main/java/com/example/android/opengl/Triangle.java
- https://developer.android.com/reference/kotlin/android/opengl/GLES20
- https://github.com/ligee/kotlin-ndk-samples/blob/master/native-codec/src/com/example/nativecodec/MyGLSurfaceView.kt
- 为什么不应该用 C/C++ 编写 Android 应用程序,因为您“只是更喜欢用 C/C++ 编程”?
- https://github.com/JimSeker/opengl/blob/master/HelloOpenGLES32/app/src/main/java/edu/cs4730/helloopengles32/Triangle.java
- https://tutorialwing.com/android-textureview-using-kotlin-with-example/
- https://github.com/googlemaps/android-samples/blob/master/ApiDemos/kotlin/app/src/main/java/com/example/kotlindemos/MainActivity.kt
- https://developer.android.com/studio/build/building-cmdline
作为参考,这些导入似乎与 android sdk OpenGL 相关:
import android.opengl.GLES20
import android.opengl.GLES32
import android.graphics.SurfaceTexture
import android.opengl.GLSurfaceView
无论如何,基本上这归结为如何使用 kotlinc 渲染一个活动,纯粹从命令行,没有 Android Studio 或任何 UI/IDE。一旦我到达那里,我就可以弄清楚如何做 OpenGL。
例如,这篇文章展示了这个 Activity 样板:
package me.mladenrakonjac.modernandroidapp
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
}
我只想从命令行渲染一个 HelloWorld Activity(如果可能,没有任何 AndroidManifest.xml,只使用 Kotlin 而不是 XML,除非需要 XML,否则我是 Android 新手)。不知道如何获取该MainActivity
片段并对其进行编译和渲染,也许可以在其中添加一个带有“hello world”的文本区域。
如果 Kotlin 不可能,那么想知道如何使用 Gradle/Java 来做到这一点。
解决方案
推荐阅读
- javascript - 如何使用 useEffect 钩子渲染加载组件?
- grpc - NoSuchMethodError gRPC
- installation - 使用 MSYS2 安装 gfortran
- python - BigQuery Storage API 并行运行流
- haxe - 如何修复 Friday Night Funkin' build?
- python - 检查浏览器中的 xpath 是否可用
- javascript - 我如何合并或连接数组数组?
- sql - 是否有可能加快这个加入?
- php - 安装、激活/停用插件时调用日志文件 (WordPress)
- reporting-services - 如何让 sql 报告服务器工作 2019