{"id":13398154,"url":"https://github.com/tidev/titanium-sdk","last_synced_at":"2026-03-14T01:04:15.881Z","repository":{"id":593350,"uuid":"228094","full_name":"tidev/titanium-sdk","owner":"tidev","description":"🚀 Native iOS and Android Apps with JavaScript \u0026 TypeScript","archived":false,"fork":false,"pushed_at":"2025-11-30T00:09:08.000Z","size":1664372,"stargazers_count":2794,"open_issues_count":191,"forks_count":1204,"subscribers_count":175,"default_branch":"main","last_synced_at":"2025-12-02T04:55:12.408Z","etag":null,"topics":["alloy","android","cross-platform","hacktoberfest","ios","javascript","mobile","mobile-development","native","nodejs","titanium"],"latest_commit_sha":null,"homepage":"https://titaniumsdk.com/","language":"Objective-C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tidev.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":"support/android/dev_keystore","governance":null,"roadmap":null,"authors":null},"funding":{"github":"tidev","liberapay":"tidev"}},"created_at":"2009-06-15T22:54:37.000Z","updated_at":"2025-11-30T00:09:12.000Z","dependencies_parsed_at":"2023-12-22T15:27:49.774Z","dependency_job_id":null,"html_url":"https://github.com/tidev/titanium-sdk","commit_stats":null,"previous_names":["tidev/titanium_mobile","appcelerator/titanium_mobile"],"tags_count":233,"template":false,"template_full_name":null,"purl":"pkg:github/tidev/titanium-sdk","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tidev%2Ftitanium-sdk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tidev%2Ftitanium-sdk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tidev%2Ftitanium-sdk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tidev%2Ftitanium-sdk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tidev","download_url":"https://codeload.github.com/tidev/titanium-sdk/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tidev%2Ftitanium-sdk/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":27784512,"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","status":"online","status_checked_at":"2025-12-17T02:00:08.291Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["alloy","android","cross-platform","hacktoberfest","ios","javascript","mobile","mobile-development","native","nodejs","titanium"],"created_at":"2024-07-30T19:00:18.544Z","updated_at":"2025-12-17T16:06:35.082Z","avatar_url":"https://github.com/tidev.png","language":"Objective-C","readme":"\u003cp align=\"center\"\u003e\u003ca href=\"https://titaniumsdk.com\" target=\"_blank\"\u003e\u003cimg width=\"120\" src=\".github/logo-titanium.png\"\u003e\u003c/a\u003e\u003c/p\u003e\n\n\u003ch1 align=\"center\"\u003eTitanium SDK\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://bsky.app/profile/titaniumsdk.com\" target=\"_blank\"\u003e\u003cimg\n    src=\"https://img.shields.io/badge/Bluesky-0285FF?logo=bluesky\u0026logoColor=fff\" alt=\"Follow @titaniumsdk.com on Bluesky\"\n  /\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/tidev/titanium-sdk/actions/workflows/build.yml?query=branch%3Amain\" target=\"_blank\"\n    \u003e\u003cimg src=\"https://github.com/tidev/titanium-sdk/actions/workflows/build.yml/badge.svg?branch=main\"\n  /\u003e\u003c/a\u003e\u003c/p\u003e\n\nWelcome to the Titanium SDK open source project. Titanium SDK provides a mature platform for developers to build\ncompletely native cross-platform mobile applications using JavaScript.\n\nCurrently supported native platforms are iOS and Android.\n\nTitanium SDK is licensed under the OSI approved Apache Public License (version 2). Please\nsee the [LICENSE](LICENSE) file for specific details.\n\n# Table of Contents\n\n- [Sponsors](#sponsors)\n- [Features](#features)\n- [Hyperloop](#hyperloop)\n  - [Features](#features-1)\n    - [Cross-Platform Reuse](#cross-platform-reuse)\n    - [Direct API Access](#direct-api-access)\n    - [JavaScript Everywhere](#javascript-everywhere)\n    - [3rd-Party Libraries](#3rd-party-libraries)\n    - [Custom Animations](#custom-animations)\n    - [Run Native](#run-native)\n  - [Example](#example)\n  - [Getting Started](#getting-started)\n- [Alloy](#alloy)\n  - [Example](#example-1)\n- [Getting Help](#getting-help)\n  - [Official Documentation, Tutorials and Videos](#official-documentation-tutorials-and-videos)\n  - [Slack / Developer Community](#slack--developer-community)\n  - [Social](#social)\n  - [Blog](#blog)\n  - [Commercial Support, Licensing](#commercial-support-licensing)\n- [Building Locally](#building-locally)\n  - [Unit tests](#unit-tests)\n    - [How it works](#how-it-works)\n    - [How to modify the tests locally and in your PRs](#how-to-modify-the-tests-locally-and-in-your-prs)\n  - [Upgrade Gradle and Android Gradle plugin](#upgrade-gradle-and-android-gradle-plugin)\n  - [Update packaged modules](#update-packaged-modules)\n  - [Update Android libraries](#update-android-libraries)\n  - [Documentation](#Documentation)\n- [Contributing](#contributing)\n  - [New Features, Improvements, Bug Fixes and Documentation](#new-features-improvements-bug-fixes-and-documentation)\n  - [Donations](#donations)\n  - [Code of Conduct](#code-of-conduct)\n- [Security](#security)\n- [Legal](#legal)\n\n## Sponsors\n\nThis project wouldn't be possible without the help of our world wide developer community. Become a sponsor\ntoday and benefit from 1:1 sessions with the core team, exclusive modules, merchandise and more!\n\nLearn more about sponsoring TiDev, the organization behind the Titanium SDK, [here](https://github.com/sponsors/tidev) 🚀.\n\n\u003c!-- sponsors --\u003e\u003ca href=\"https://github.com/phobeous\"\u003e\u003cimg src=\"https:\u0026#x2F;\u0026#x2F;github.com\u0026#x2F;phobeous.png\" width=\"60px\" alt=\"User avatar: Rodrigo Farfán\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/dlewis23\"\u003e\u003cimg src=\"https:\u0026#x2F;\u0026#x2F;github.com\u0026#x2F;dlewis23.png\" width=\"60px\" alt=\"User avatar: dlewis23\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/dethier1958\"\u003e\u003cimg src=\"https:\u0026#x2F;\u0026#x2F;github.com\u0026#x2F;dethier1958.png\" width=\"60px\" alt=\"User avatar: Daniel Ethier\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/zenjoe\"\u003e\u003cimg src=\"https:\u0026#x2F;\u0026#x2F;github.com\u0026#x2F;zenjoe.png\" width=\"60px\" alt=\"User avatar: Joe Kniesek\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/desarrollogotit\"\u003e\u003cimg src=\"https:\u0026#x2F;\u0026#x2F;github.com\u0026#x2F;desarrollogotit.png\" width=\"60px\" alt=\"User avatar: \" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/Astrovic\"\u003e\u003cimg src=\"https:\u0026#x2F;\u0026#x2F;github.com\u0026#x2F;Astrovic.png\" width=\"60px\" alt=\"User avatar: Vittorio Sorbera\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/Arood\"\u003e\u003cimg src=\"https:\u0026#x2F;\u0026#x2F;github.com\u0026#x2F;Arood.png\" width=\"60px\" alt=\"User avatar: Marcus Olovsson\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/Rearmachine\"\u003e\u003cimg src=\"https:\u0026#x2F;\u0026#x2F;github.com\u0026#x2F;Rearmachine.png\" width=\"60px\" alt=\"User avatar: \" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/alexlarocca\"\u003e\u003cimg src=\"https:\u0026#x2F;\u0026#x2F;github.com\u0026#x2F;alexlarocca.png\" width=\"60px\" alt=\"User avatar: Alessandro La Rocca\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/reshopper\"\u003e\u003cimg src=\"https:\u0026#x2F;\u0026#x2F;github.com\u0026#x2F;reshopper.png\" width=\"60px\" alt=\"User avatar: Reshopper\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/safadig\"\u003e\u003cimg src=\"https:\u0026#x2F;\u0026#x2F;github.com\u0026#x2F;safadig.png\" width=\"60px\" alt=\"User avatar: Gus\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/designbymind\"\u003e\u003cimg src=\"https:\u0026#x2F;\u0026#x2F;github.com\u0026#x2F;designbymind.png\" width=\"60px\" alt=\"User avatar: Jason David Miller\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/greatschism\"\u003e\u003cimg src=\"https:\u0026#x2F;\u0026#x2F;github.com\u0026#x2F;greatschism.png\" width=\"60px\" alt=\"User avatar: \" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/enzoq\"\u003e\u003cimg src=\"https:\u0026#x2F;\u0026#x2F;github.com\u0026#x2F;enzoq.png\" width=\"60px\" alt=\"User avatar: Vincenzo Quacquarelli\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/mighty-office\"\u003e\u003cimg src=\"https:\u0026#x2F;\u0026#x2F;github.com\u0026#x2F;mighty-office.png\" width=\"60px\" alt=\"User avatar: Mighty GmbH\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/korelogic\"\u003e\u003cimg src=\"https:\u0026#x2F;\u0026#x2F;github.com\u0026#x2F;korelogic.png\" width=\"60px\" alt=\"User avatar: Korelogic Limited\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/eddyinet\"\u003e\u003cimg src=\"https:\u0026#x2F;\u0026#x2F;github.com\u0026#x2F;eddyinet.png\" width=\"60px\" alt=\"User avatar: \" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/gouldjw\"\u003e\u003cimg src=\"https:\u0026#x2F;\u0026#x2F;github.com\u0026#x2F;gouldjw.png\" width=\"60px\" alt=\"User avatar: John Gould\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/mediabug51\"\u003e\u003cimg src=\"https:\u0026#x2F;\u0026#x2F;github.com\u0026#x2F;mediabug51.png\" width=\"60px\" alt=\"User avatar: \" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/victorpl\"\u003e\u003cimg src=\"https:\u0026#x2F;\u0026#x2F;github.com\u0026#x2F;victorpl.png\" width=\"60px\" alt=\"User avatar: \" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/PatrickMounteney\"\u003e\u003cimg src=\"https:\u0026#x2F;\u0026#x2F;github.com\u0026#x2F;PatrickMounteney.png\" width=\"60px\" alt=\"User avatar: Patrick Mounteney\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/lambus-platform\"\u003e\u003cimg src=\"https:\u0026#x2F;\u0026#x2F;github.com\u0026#x2F;lambus-platform.png\" width=\"60px\" alt=\"User avatar: Lambus\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/emptybox\"\u003e\u003cimg src=\"https:\u0026#x2F;\u0026#x2F;github.com\u0026#x2F;emptybox.png\" width=\"60px\" alt=\"User avatar: Vaughn Dabney\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/Whatslively\"\u003e\u003cimg src=\"https:\u0026#x2F;\u0026#x2F;github.com\u0026#x2F;Whatslively.png\" width=\"60px\" alt=\"User avatar: Whatslively\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/JeremyFlight\"\u003e\u003cimg src=\"https:\u0026#x2F;\u0026#x2F;github.com\u0026#x2F;JeremyFlight.png\" width=\"60px\" alt=\"User avatar: Jeremy Flight\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/Alpine-Software\"\u003e\u003cimg src=\"https:\u0026#x2F;\u0026#x2F;github.com\u0026#x2F;Alpine-Software.png\" width=\"60px\" alt=\"User avatar: Alpine Software\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/elusu\"\u003e\u003cimg src=\"https:\u0026#x2F;\u0026#x2F;github.com\u0026#x2F;elusu.png\" width=\"60px\" alt=\"User avatar: \" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/oshevans\"\u003e\u003cimg src=\"https:\u0026#x2F;\u0026#x2F;github.com\u0026#x2F;oshevans.png\" width=\"60px\" alt=\"User avatar: Osian Evans\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/UniqueSchools\"\u003e\u003cimg src=\"https:\u0026#x2F;\u0026#x2F;github.com\u0026#x2F;UniqueSchools.png\" width=\"60px\" alt=\"User avatar: \" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/aking80\"\u003e\u003cimg src=\"https:\u0026#x2F;\u0026#x2F;github.com\u0026#x2F;aking80.png\" width=\"60px\" alt=\"User avatar: Aaron King\" /\u003e\u003c/a\u003e\u003c!-- sponsors --\u003e\n\n## Features\n\nWith Titanium SDK, you use JavaScript to code your application. Titanium's compiler will compile\nyour application code into an efficient native executable for each target mobile platform.\n\n- [x] Native apps built using JavaScript (no hybrid, no embedded WebView)\n- [x] Apps are compiled and run locally with full offline support\n- [x] Support for native platform UI controls (TabGroup (iOS), ActionBar (Android), ...)\n- [x] Support for watchOS targets\n- [x] Support for in-application SQL database\n- [x] Support for Geolocation (compass, geolocation, forward/reverse lookup)\n- [x] Support for Camera (taking Photos, playing and recording Video)\n- [x] Support for Calendar (creating \u0026 fetching Events)\n- [x] Support for 3D-Touch (Peek and Pop, Application Shortcuts, ...)\n- [x] Support for Photo Album (reading and writing)\n- [x] Support for Contacts Database / Address Book\n- [x] Support for Streaming Audio and Recording Audio, Audio Input Levels, Mic, etc.\n- [x] Support for Vibration\n- [x] Support for Social APIs such as Facebook, X (formerly Twitter), etc.\n- [x] Support for Yahoo YQL\n- [x] Support for Web Services via REST, SOAP\n- [x] Support for native Maps (Apple Maps, Google Maps)\n- [x] Support for Push Notifications\n- [x] Support for In-Application Email\n- [x] Support for In-Application SMS, Telephone\n- [x] Support for Filesystem (create, read, write, etc.)\n- [x] Support for Gestures (such as Shake and Pinch)\n- [x] Support for Platform and Device capabilities\n- [x] Support for complex native views such as Coverflow, Image Views, Table Views, Grouped Views, Composites, etc.\n- [x] Support for Web Views incorporating HTML5, CSS, etc.\n- [x] Completely extensible via Module API and Hyperloop for building your own controls or extending capabilities\n\nAnd much, much more (see our [Documentation site](https://titaniumsdk.com) for more infos).\n\n## Hyperloop\n\nUse Hyperloop to extend your Titanium SDK apps by native API's using\nJavaScript. Prior to Hyperloop, you would use [native modules](https://titaniumsdk.com/guide/Titanium_SDK/Titanium_SDK_How-tos/Extending_Titanium_Mobile/Titanium_Module_Concepts.html) to extend the Titanium SDK API. With\nHyperloop, you are now able to implement native classes, 3rd-Party libraries (CocoaPods, local frameworks, .aar files)\nand more directly into your apps. Hyperloop is available for iOS and Android.\n\n### Features\n\n#### Cross-Platform Reuse\n\nBuild and maintain apps in a fraction of the time with up to 95% code reuse.\n\n#### Direct API Access\n\nAccess 100% of platform APIs directly, with instant support for each new OS release.\n\n#### JavaScript Everywhere\n\nCreate mobile apps using the world’s most popular programming language.\n\n#### 3rd-Party Libraries\n\nIncorporate 3rd-party native libraries using JavaScript, with no changes required.\n\n#### Custom Animations\n\nEasily create complex custom effects like dynamic animations using JavaScript.\n\n#### Run Native\n\nMobile app development for every major mobile OS – with no hybrid compromises.\n\n### Example\n\nCreate a native view in iOS and Android:\n\n```js\n// iOS\nvar view = new UIView();\n\n// Android\nvar view = new View(activity);\n```\n\n### Getting Started\n\nCheck out our [Hyperloop Sample App](https://github.com/tidev/hyperloop-examples) and [Hyperloop Programming Guide](https://titaniumsdk.com/guide/Titanium_SDK/Titanium_SDK_Guide/Hyperloop/) to get started with Hyperloop today!\n\n## Alloy\n\n[Alloy](https://titaniumsdk.com/guide/Alloy_Framework/) is the MVC application framework built\non top of Titanium SDK. It is optional. It rocks. Check it out if you're considering using Titanium SDK.\nIt is also a separate [open source project](https://github.com/tidev/alloy) available under Apache Public License.\n\n### Example\n\nManage your application scope by separating your code into different models, views, controllers and more:\n\n**index.xml** (View)\n\n```xml\n\u003cAlloy\u003e\n  \u003cWindow title=\"Titanium SDK and Alloy\"\u003e\n    \u003cButton onClick=\"handleClick\" id=\"myButton\"\u003eClick me!\u003c/Button\u003e\n  \u003c/Window\u003e\n\u003c/Alloy\u003e\n```\n\n**index.js** (Controller)\n\n```js\nfunction handleClick() {\n  alert('Hello from the Controller!');\n}\n```\n\n**index.tss** (Style)\n\n```js\nWindow: {\n  backgroundColor: 'white'\n}\n\n\"#myButton\": {\n  width: 200,\n  height: 30,\n  backgroundColor: 'green'\n}\n```\n\n## Getting Help\n\nThere are a number of ways to get help with Titanium SDK.\n\n### Official Documentation, Tutorials and Videos\n\nPlease visit the official documentation site at [https://titaniumsdk.com](https://titaniumsdk.com) for the latest and historical documentation on Titanium SDK, Alloy and other modules.\n\n### Slack / Developer Community\n\nCommunity support and discussion about Titanium SDK is available on Slack at [TiSlack](https://slack.tidev.io) or at [GitHub Discussions](https://github.com/tidev/titanium-sdk/discussions).\n\n### Social\n\nFor the latest information, please follow us on [Bluesky](https://bsky.app/profile/titaniumsdk.com) or X: [@Titanium SDK](https://x.com/titaniumsdk) and [@TiDev](https://x.com/tidevio).\n\n### Blog\n\nThe Titanium blog is located at https://tidev.io/blog.\n\n### Commercial Support, Licensing\n\nWe give our software away for FREE! In order to do that, we have programs for companies that require additional level of assistance through training or commercial support, need special licensing or want additional levels of capabilities. Please visit the [TiDev Website](https://tidev.io) for more information about TiDev or email [info@tidev.io](mailto:info@tidev.io).\n\n## Building Locally\n\nIf you'd like to build the SDK locally you can use the included npm scripts:\n\n```bash\nnpm ci\nnpm run cleanbuild\n```\n\nThe build and package commands will default to all target platforms on your host OS unless explicitly specified (i.e. Android \u0026 iOS on macOS; Android on Windows). It will compile, package and install the locally-built SDK for you\nas well, so you can test it in your own applications without any further procedures.\n\nThe build command will look for the Android SDK directory path via the `$ANDROID_SDK` env variables if not explicitly passed using command line arguments.\n\nYou can use the `-h` flag to display the full list of commands and options.\n\n```bash\nnpm ci\nnpm run cleanbuild -- [platform1] [platform2] --android-sdk /opt/android-sdk /Users/build/android-sdk-macosx\n```\n\n### Unit tests\n\nWe have a [unit test suite](tests/) intended to run across all supported platforms.\n\nWe have npm scripts set up to run a full clean, build, package, symlinked install, and then run the unit test suite:\n\n```bash\nnpm run test:android\nnpm run test:iphone\nnpm run test:ipad\n```\n\n#### How it works\n\nThe test suite generates a single Titanium SDK project targeting the specified platform(s), builds the project for emulator, launches the app on the emulator and then runs a series of tests defined via ti-mocha and should.js.\n\nThe tests spit out their results to the console log, and the test scripts listen to the logs to gather the results. We then generate an overview on the console as well as a junit report XML file (to be consume by CI build systems like Jenkins).\n\n#### How to modify the tests locally and in your PRs\n\nThe `tests` folder contains the test suite. Any files living within that directory are copied on top of the test app's structure.\n\n\n### Upgrade Gradle and Android Gradle plugin\n\nThe Gradle (tool, build system) and Android Gradle plugin (plugin that adds several features that are specific to building Android apps) version numbers are located in:\n* `android/build.gradle`\n* `android/gradle/wrapper/gradle-wrapper.properties`\n* `android/templates/build/root.build.gradle`.\n\nIn the `android/` folder you can run `./gradlew wrapper --gradle-version 8.10 --distribution-type all` to update the Gradle tool. It will download the version, change the `gradle-wrapper.properties` link, update the gradlew file and the gradle-wrapper.jar.\n\nTo update the plugin to a newer version (check https://mvnrepository.com/artifact/com.android.tools.build/gradle?repo=google) you have to change the `build.gradle` and `root.build.gradle` from the links above.\n\nWhen you change the Android Gradle plugin make sure to look at the `Compatibility` section at https://developer.android.com/studio/releases/gradle-plugin#compatibility-7-1-0 and adjust the `android build tools` section in `android/package.json`. It will also tell you the minimum required version. E.g. `com.android.tools.build:gradle:8.5.x` (plugin) /android/gradle/wrapper/gradle-wrapper.properties to be 8.7 (tool).\nIf needed make sure the other libraries e.g. the kotlin version in `build.gradle` are working with the current setup.\n\nAfter you've made the changes and compiled the SDK make sure to run the test suite, build the Kitchensink and Hyperloop example app. Create a and build a module (java and kotlin) and run those in a test app too.\n\n### Update packaged modules\n\nSome modules like ti.map or ti.facebook are included with the SDK. To update to the latest versions you have to edit the links in `support/module/packaged/modules.json` and run `node build/scons-modules-integrity.js`. This will download the files and update the integrity values.\n\n### Update Android libraries\nThe `/android/titanium/build.gradle` file contains various Android libraries that are used in the SDK. If you want to update them check the corresponding release pages:\n* https://developer.android.com/jetpack/androidx/releases/recyclerview\n* https://developer.android.com/jetpack/androidx/releases/swiperefreshlayout\n* https://developer.android.com/jetpack/androidx/releases/camera\n* https://developer.android.com/jetpack/androidx/releases/transition\n* https://developer.android.com/jetpack/androidx/releases/vectordrawable\n* https://developer.android.com/jetpack/androidx/releases/viewpager\n* https://developer.android.com/jetpack/androidx/releases/cardview\n* https://developer.android.com/jetpack/androidx/releases/drawerlayout\n* https://developer.android.com/jetpack/androidx/releases/exifinterface\n* https://developer.android.com/jetpack/androidx/releases/media\n\nfor a new version and change the number in the `build.gradle` file. Some version numbers are managed inside `/android/templates/build/ti.constants.gradle`. After that build the SDK and run `npm run test` to see if everything is still running. Building Kitchensink, Hyperloop-examples and a custom app is also helpful.\n\n### Documentation\n\nIf you want to help updating and improving the documentation you can checkout the repository and edit the files in `/apidoc/`. Those files are shown in the API documentation at https://titaniumsdk.com/api/ and include all methods, properties, examples and so on. After you made changes run `npm run lint:docs` to see if your changes produce a valid documentation. The PR commit title you create should start with `docs: ` and a proper title like: `docs: updated textfield examples`.\nAll other documentation files (e.g. the guides) are located in the https://github.com/tidev/titanium-docs repository. In case you want to update guides, tutorials or spelling mistakes you clone that repo and follow the README file inside the main folder.\n\n## Contributing\n\nTitanium SDK is an open source project. Titanium SDK wouldn't be where it is now without contributions by the community. Please consider forking Titanium SDK to improve, enhance or fix issues. If you feel like the community will benefit from your fork, please open a pull request.\n\n### New Features, Improvements, Bug Fixes and Documentation\n\nSource code contributions are always welcome!\n\nTo protect the interests of the Titanium SDK contributors, Appcelerator, customers and end users we require contributors to sign a Contributors License Agreement (CLA) before we pull the changes into the main repository. Our CLA is simple and straightforward - it requires that the contributions you make to any Appcelerator open source project are properly licensed and that you have the legal authority to make those changes. This helps us significantly reduce future legal risk for everyone involved. It is easy, helps everyone, takes only a few minutes, and only needs to be completed once.\n\nPlease visit https://tidev.io/contribute for more information.\nYou can digitally sign the CLA there.\n\n### Donations\n\nPlease consider supporting this project by making a charitable [donation](https://tidev.io/donate). The money you donate goes to compensate the skilled engineers and maintainers that keep this project going.\n\n### Code of Conduct\n\nTiDev wants to provide a safe and welcoming community for everyone to participate. Please see our [Code of Conduct](https://tidev.io/code-of-conduct) that applies to all contributors.\n\n## Security\n\nIf you find a security related issue, please send an email to [security@tidev.io](mailto:security@tidev.io) instead of publicly creating a ticket.\n\n## Legal\n\nTitanium is a registered trademark of TiDev Inc. All Titanium trademark and patent rights were transferred and assigned to TiDev Inc. on 4/7/2022. Please see the LEGAL information about using our trademarks, privacy policy, terms of usage and other legal information at https://tidev.io/legal.\n","funding_links":["https://github.com/sponsors/tidev","https://liberapay.com/tidev"],"categories":["JavaScript","Objective-C"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftidev%2Ftitanium-sdk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftidev%2Ftitanium-sdk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftidev%2Ftitanium-sdk/lists"}