{"id":20245578,"url":"https://github.com/noloader/android-prng","last_synced_at":"2025-04-10T20:55:15.813Z","repository":{"id":40614234,"uuid":"47653340","full_name":"noloader/Android-PRNG","owner":"noloader","description":"Sample Android shared object which depends on Crypto++ library shared object.","archived":false,"fork":false,"pushed_at":"2021-02-06T21:58:42.000Z","size":96,"stargazers_count":17,"open_issues_count":0,"forks_count":7,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-24T18:45:49.897Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C++","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/noloader.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}},"created_at":"2015-12-08T22:24:17.000Z","updated_at":"2023-05-31T13:56:40.000Z","dependencies_parsed_at":"2022-07-28T00:47:18.848Z","dependency_job_id":null,"html_url":"https://github.com/noloader/Android-PRNG","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/noloader%2FAndroid-PRNG","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/noloader%2FAndroid-PRNG/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/noloader%2FAndroid-PRNG/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/noloader%2FAndroid-PRNG/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/noloader","download_url":"https://codeload.github.com/noloader/Android-PRNG/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248298109,"owners_count":21080313,"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-14T09:22:13.660Z","updated_at":"2025-04-10T20:55:15.793Z","avatar_url":"https://github.com/noloader.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"Android-PRNG is a sample Android NDK project to demonstrate two topics. First, it shows you how to compile a shared object using the Crypto++ library on Android. Second, it shows you how to sample sensors to accumulate seed data to use with a software based random number generator.\r\n\r\nThe project requires the Crypto++ library built for Android with architectures armeabi-v7a, arm64-v8a, x64 and x86_64. The project looks for them in the following locations based on architecture:\r\n\r\n * /usr/local/cryptopp/android-armeabi-v7a\r\n * /usr/local/cryptopp/android-arm64-v8a\r\n * /usr/local/cryptopp/android-x86\r\n * /usr/local/cryptopp/android-x86_64\r\n\r\nYou can create the prerequisites by repeatedly building and installing the Crypto++ library. The steps for the task are:\r\n\r\n```bash\r\ngit clone https://github.com/weidai11/cryptopp.git\r\ncd cryptopp\r\ncp -p TestScripts/setenv-android.sh .\r\nsource ./setenv-android.sh armeabi-v7a\r\n\r\nmake -f GNUmakefile-cross distclean\r\nmake -f GNUmakefile-cross static dynamic\r\nsudo make install PREFIX=/usr/local/cryptopp/android-armeabi-v7a\r\n```\r\n\r\nLather, rinse, and repeat for each architecture.\r\n\r\nOnce you have the libraries installed, use `ndk-build` to build the library:\r\n\r\n```bash\r\ncd Android-PRNG\r\nndk-build\r\n```\r\n\r\nAfter the native libraries are built, use `ant` to build the APK and install it on a device:\r\n\r\n```bash\r\nant debug install\r\n```\r\n\r\nOnce installed, you should find it in the App Launcher.\r\n\r\n### References\r\n\r\nThe following references from the Crypto++ wiki should be helpful.\r\n\r\n* http://www.cryptopp.com/wiki/Android_(Command_Line)\r\n* http://www.cryptopp.com/wiki/Android.mk_(Command_Line)\r\n* http://www.cryptopp.com/wiki/Android_Activity\r\n* http://www.cryptopp.com/wiki/Wrapper_DLL\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnoloader%2Fandroid-prng","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnoloader%2Fandroid-prng","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnoloader%2Fandroid-prng/lists"}