{"id":29093431,"url":"https://github.com/dmtrkovalenko/fframes-android-demo-project","last_synced_at":"2025-10-10T21:09:11.701Z","repository":{"id":290387109,"uuid":"974095501","full_name":"dmtrKovalenko/fframes-android-demo-project","owner":"dmtrKovalenko","description":"Shows how you can build fframes rust binary for android ","archived":false,"fork":false,"pushed_at":"2025-04-28T14:22:11.000Z","size":71129,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-26T04:15:25.410Z","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":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dmtrKovalenko.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"zenodo":null}},"created_at":"2025-04-28T08:48:52.000Z","updated_at":"2025-04-28T14:22:19.000Z","dependencies_parsed_at":"2025-04-28T15:46:43.721Z","dependency_job_id":null,"html_url":"https://github.com/dmtrKovalenko/fframes-android-demo-project","commit_stats":null,"previous_names":["dmtrkovalenko/fframes-android-demo-project"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/dmtrKovalenko/fframes-android-demo-project","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dmtrKovalenko%2Ffframes-android-demo-project","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dmtrKovalenko%2Ffframes-android-demo-project/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dmtrKovalenko%2Ffframes-android-demo-project/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dmtrKovalenko%2Ffframes-android-demo-project/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dmtrKovalenko","download_url":"https://codeload.github.com/dmtrKovalenko/fframes-android-demo-project/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dmtrKovalenko%2Ffframes-android-demo-project/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262399750,"owners_count":23305158,"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":"2025-06-28T08:30:20.590Z","updated_at":"2025-10-10T21:09:06.679Z","avatar_url":"https://github.com/dmtrKovalenko.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# fframes + android\n\nThis is showing how you can use fframes cross compiled for andorid using native development kit.\n\n## Requirements\n\n- Android Studio\n- Android NDK toolchain (installed with Android Studio)\n- Rust android toolchain\n\n```bash\nrustup target add aarch64-linux-android armv7-linux-androideabi i686-linux-android x86_64-linux-android\n```\n\n- [cargo-ndk](https://github.com/bbqsrc/cargo-ndk)\n\nThis is a CLI allows to resolve android NDK toolchain used and cross compile jni libraries for all the platforms\n\n```\ncargo install cargo-ndk\n```\n\n## Build\n\nThis **should** work out of the box if you open android studio and press the cargo build, the gradle scripts have to automatically run the rust build and copy the libraries to the right place. To run the compilation on your use the following command:\n\n```bash\ncd hello_rust_lib\ncargo ndk -t arm64-v8a -t armeabi-v7a -t x86 -t x86_64 -o ../android-app/app/src/main/jniLibs build --release\n```\n\nTo introspect the build progress add the `--vv` flag to the cargo ndk command\n\n## Configure android platform\n\nTo configure the way android ndk is building rust code there are several environment varialbes supported by the cargo ndk for example `ANDROID_PLATOFRM`. For more information see [the cargo-ndk docs](https://github.com/bbqsrc/cargo-ndk)\n\n## Output\n\nMake sure that android doesn't support stdout so you would have to implement your custom logger for example with a help of [android_logger crate](https://crates.io/crates/android_logger)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdmtrkovalenko%2Ffframes-android-demo-project","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdmtrkovalenko%2Ffframes-android-demo-project","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdmtrkovalenko%2Ffframes-android-demo-project/lists"}