{"id":19348102,"url":"https://github.com/korlibs/korge-hello-world-integrated-android","last_synced_at":"2025-08-10T12:24:41.962Z","repository":{"id":84110040,"uuid":"250345352","full_name":"korlibs/korge-hello-world-integrated-android","owner":"korlibs","description":null,"archived":false,"fork":false,"pushed_at":"2020-03-30T16:24:35.000Z","size":73,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-06-06T12:44:24.958Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/korlibs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-03-26T18:53:02.000Z","updated_at":"2020-03-30T16:24:38.000Z","dependencies_parsed_at":null,"dependency_job_id":"f0b1fccf-77e5-437e-824b-4c1957b533c8","html_url":"https://github.com/korlibs/korge-hello-world-integrated-android","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/korlibs/korge-hello-world-integrated-android","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/korlibs%2Fkorge-hello-world-integrated-android","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/korlibs%2Fkorge-hello-world-integrated-android/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/korlibs%2Fkorge-hello-world-integrated-android/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/korlibs%2Fkorge-hello-world-integrated-android/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/korlibs","download_url":"https://codeload.github.com/korlibs/korge-hello-world-integrated-android/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/korlibs%2Fkorge-hello-world-integrated-android/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265402833,"owners_count":23759237,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-10T04:19:02.412Z","updated_at":"2025-07-15T04:37:08.692Z","avatar_url":"https://github.com/korlibs.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Korge Hello World and Template\n\nThis is a Hello World and Template for the KorGe game engine. Using gradle with kotlin-dsl.\nYou can open this project in IntelliJ IDEA by opening the folder or the build.gradle.kts file.\n\nYou can find this template at GitHub: \u003chttps://github.com/korlibs/korge-hello-world\u003e\n\nFor Windows, change all the `./gradlew` for `gradlew.bat`.\n\nYou should use Gradle 5.5 or greater and Java 8 or greater.\n\n## Compiling for the JVM (Desktop)\n\nInside IntelliJ you can go to the `src/commonMain/kotlin/main.kt` file and press the green ▶️ icon\nthat appears to the left of the `suspend fun main()` line.\n\nUsing gradle tasks on the terminal:\n\n```bash\n./gradlew runJvm                    # Runs the program\n./gradlew packageJvmFatJar          # Creates a FAT Jar with the program\n./gradlew packageJvmFatJarProguard  # Creates a FAT Jar with the program and applies Proguard to reduce the size\n```\n\nFat JARs are stored in the `/build/libs` folder.\n\n## Compiling for the Web\n\nUsing gradle tasks on the terminal:\n\n```bash\n./gradlew jsWeb                     # Outputs to /build/web\n./gradlew jsWebMin                  # Outputs to /build/web-min (applying Dead Code Elimination)\n./gradlew jsWebMinWebpack           # Outputs to /build/web-min-webpack (minimizing and grouping into a single bundle.js file)\n./gradlew runJs                     # Outputs to /build/web, creates a small http server and opens a browser\n```\n\nYou can use any HTTP server to serve the files in your browser.\nFor example using: `npm -g install http-server` and then executing `hs build/web`.\n\nYou can also use `./gradlew -t jsWeb` to continuously building the JS sources and running `hs build/web` in another terminal.\nHere you can find a `testJs.sh` script doing exactly this for convenience.\n\nYou can run your tests using Node.JS by calling `jsTest` or in a headless chrome with `jsTestChrome`.\n\n## Compiling for Native Desktop (Windows, Linux and macOS)\n\nUsing gradle tasks on the terminal:\n\n```bash\n./gradlew linkMainDebugExecutableMacosX64         # Outputs to /build/bin/macosX64/mainDebugExecutable/main.kexe\n./gradlew linkMainDebugExecutableLinuxX64         # Outputs to /build/bin/linuxX64/mainDebugExecutable/main.kexe\n./gradlew linkMainDebugExecutableMingwX64         # Outputs to /build/bin/mingwX64/mainDebugExecutable/main.exe\n```\n\nNote that windows executables doesn't have icons bundled.\nYou can use [ResourceHacker](http://www.angusj.com/resourcehacker/) to add an icon to the executable for the moment.\nLater this will be done automatically.\n\n### Cross-Compiling for Linux/Windows\n\nIf you have docker installed, you can generate native executables for linux and windows\nusing the cross-compiling gradle wrappers:\n\n```bash\n./gradlew_linux linkMainDebugExecutableLinuxX64   # Outputs to /build/web\n./gradlew_win   linkMainDebugExecutableMingwX64   # Outputs to /build/web\n```\n\n### Generating MacOS `.app`\n\n```bash\n./gradlew packageMacosX64AppDebug             # Outputs to /build/unnamed-debug.app\n```\n\nYou can change `Debug` for `Release` in all the tasks to generate Release executables.\n\nYou can use the `strip` tool from your toolchain (or in the case of windows found in the ``~/.konan` toolchain)\nto further reduce Debug and Release executables size by removing debug information (in some cases this will shrink the EXE size by 50%).\n\nIn windows this exe is at: `%USERPROFILE%\\.konan\\dependencies\\msys2-mingw-w64-x86_64-gcc-7.3.0-clang-llvm-lld-6.0.1\\bin\\strip.exe`.\n\n### Linux notes\n\nSince linux doesn't provide standard multimedia libraries out of the box,\nyou will need to have installed the following packages: `freeglut3-dev` and `libopenal-dev`.\n\nIn ubuntu you can use `apt-get`: `sudo apt-get -y install freeglut3-dev libopenal-dev`.\n\n## Compiling for Android\n\nYou will need to have installed the Android SDK in the default path for your operating system\nor to provide the `ANDROID_SDK` environment variable. The easiest way is to install Android Studio.\n\nUsing gradle tasks on the terminal:\n\n### Native Android (JVM)\n\n```bash\n./gradlew installAndroidDebug             # Installs an APK in all the connected devices\n./gradlew runAndroidEmulatorDebug         # Runs the application in an emulator\n```\n\nTriggering these tasks, it generates a separate android project into `build/platforms/android`.\nYou can open it in `Android Studio` for debugging and additional tasks. The KorGE plugin just\ndelegates gradle tasks to that gradle project.\n\n### Apache Cordova (JS)\n\n```bash\n./gradlew compileCordovaAndroid           # Just compiles cordova from Android\n./gradlew runCordovaAndroid               # Runs the application (dce'd, minimized and webpacked) in an Android device\n./gradlew runCordovaAndroidNoMinimized    # Runs the application in Android without minimizing (so you can use `chrome://inspect` to debug the application easier)\n```\n\n\n\n## Compiling for iOS\n\nYou will need XCode and to download the iOS SDKs using Xcode.\n\nUsing gradle tasks on the terminal:\n\n### Native iOS (Kotlin/Native) + Objective-C\n\nNote that the necessary bridges are built using Objective-C instead of Swift, so the application\nwon't include Swift's runtime.\n\n```bash\n./gradlew iosBuildSimulatorDebug          # Creates an APP file\n./gradlew iosInstallSimulatorDebug        # Installs an APP file in the simulator\n./gradlew iosRunSimulatorDebug            # Runs the APP in the simulator\n\n```\n\nThese tasks generate a xcode project in `build/platforms/ios`, so you can also open the project\nwith XCode and do additional tasks there.\n\nIt uses [XCodeGen](https://github.com/yonaskolb/XcodeGen) for the project generation\nand [ios-deploy](https://github.com/ios-control/ios-deploy) for deploying to real devices.\n\n### Apache Cordova (JS)\n\n```bash\n./gradlew compileCordovaIos               # Just compiles cordova from iOS\n./gradlew runCordovaIos                   # Runs the application (dce'd, minimized and webpacked) in an iOS device\n./gradlew runCordovaIosNoMinimized        # Runs the application in iOS without minimizing (so you can use Safari on macOS to debug the application easier)\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkorlibs%2Fkorge-hello-world-integrated-android","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkorlibs%2Fkorge-hello-world-integrated-android","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkorlibs%2Fkorge-hello-world-integrated-android/lists"}