{"id":13837550,"url":"https://github.com/outsung/expo-dynamic-app-icon","last_synced_at":"2025-04-10T01:08:11.757Z","repository":{"id":63706856,"uuid":"568811533","full_name":"outsung/expo-dynamic-app-icon","owner":"outsung","description":"🤖 Programmatically change the app icon in Expo.","archived":false,"fork":false,"pushed_at":"2024-03-23T22:19:19.000Z","size":1047,"stargazers_count":169,"open_issues_count":19,"forks_count":30,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-10T01:08:06.638Z","etag":null,"topics":["expo","react-native"],"latest_commit_sha":null,"homepage":"","language":"Java","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/outsung.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}},"created_at":"2022-11-21T13:11:30.000Z","updated_at":"2025-04-09T14:11:17.000Z","dependencies_parsed_at":"2024-01-13T17:10:51.054Z","dependency_job_id":"94b1795a-2d06-44df-8f6f-7464ff69b049","html_url":"https://github.com/outsung/expo-dynamic-app-icon","commit_stats":{"total_commits":29,"total_committers":4,"mean_commits":7.25,"dds":"0.10344827586206895","last_synced_commit":"09dc72be5920e86055d4212f1d0c91b339bd2818"},"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/outsung%2Fexpo-dynamic-app-icon","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/outsung%2Fexpo-dynamic-app-icon/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/outsung%2Fexpo-dynamic-app-icon/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/outsung%2Fexpo-dynamic-app-icon/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/outsung","download_url":"https://codeload.github.com/outsung/expo-dynamic-app-icon/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248137887,"owners_count":21053775,"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":["expo","react-native"],"created_at":"2024-08-04T15:01:13.579Z","updated_at":"2025-04-10T01:08:11.739Z","avatar_url":"https://github.com/outsung.png","language":"Java","funding_links":["https://www.buymeacoffee.com/outsung"],"categories":["Java","Stale"],"sub_categories":["React Native \u0026 Expo"],"readme":"# expo-dynamic-app-icon\n\nProgrammatically change the app icon in Expo.\n\n## Install\n\n```\nnpx expo install expo-dynamic-app-icon\n```\n\n## Set icon file\n\nadd plugins in `app.json`\n\n```typescript\n \"plugins\": [\n      [\n        \"expo-dynamic-app-icon\",\n        {\n          \"red\": { // icon name\n            \"image\": \"./assets/icon1.png\", // icon path\n            \"prerendered\": true // for ios UIPrerenderedIcon option\n          },\n          \"gray\": {\n            \"image\": \"./assets/icon2.png\",\n            \"prerendered\": true\n          }\n        }\n      ]\n    ]\n```\n\n## Check AndroidManifest (for android)\n\n```\nexpo prebuild\n```\n\ncheck added line\n[AndroidManifest.xml](./example/android/app/src/main/AndroidManifest.xml#L33-L44)\n\n```xml\n  ...\n    \u003cactivity-alias android:name=\"expo.modules.dynamicappicon.example.MainActivityred\" android:enabled=\"false\" android:exported=\"true\" android:icon=\"@mipmap/red\" android:targetActivity=\".MainActivity\"\u003e\n      \u003cintent-filter\u003e\n        \u003caction android:name=\"android.intent.action.MAIN\"/\u003e\n        \u003ccategory android:name=\"android.intent.category.LAUNCHER\"/\u003e\n      \u003c/intent-filter\u003e\n    \u003c/activity-alias\u003e\n    \u003cactivity-alias android:name=\"expo.modules.dynamicappicon.example.MainActivitygray\" android:enabled=\"false\" android:exported=\"true\" android:icon=\"@mipmap/gray\" android:targetActivity=\".MainActivity\"\u003e\n      \u003cintent-filter\u003e\n        \u003caction android:name=\"android.intent.action.MAIN\"/\u003e\n        \u003ccategory android:name=\"android.intent.category.LAUNCHER\"/\u003e\n      \u003c/intent-filter\u003e\n    \u003c/activity-alias\u003e\n  ...\n```\n\n## Create new `expo-dev-client`\n\ncreate a new `expo-dev-client` and begin using `expo-dynamic-app-icon`\n\n## Use `setAppIcon`\n\n- if error, return **false**\n- else, return **changed app icon name**\n\n```typescript\nimport { setAppIcon } from \"expo-dynamic-app-icon\";\n\n...\n\nsetAppIcon(\"red\") // set icon 'assets/icon1.png'\n```\n\n## Use `getAppIcon`\n\nget current app icon name\n\n- default return is `DEFAULT`\n\n```typescript\nimport { getAppIcon } from \"expo-dynamic-app-icon\";\n\n...\n\ngetAppIcon() // get current icon name 'red'\n```\n\n\u003ca href=\"https://www.buymeacoffee.com/outsung\" target=\"_blank\"\u003e\u003cimg src=\"https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png\" alt=\"Buy Me A Coffee\" style=\"height: 41px !important;width: 174px !important;box-shadow: 0px 3px 2px 0px rgba(190, 190, 190, 0.5) !important;-webkit-box-shadow: 0px 3px 2px 0px rgba(190, 190, 190, 0.5) !important;\" \u003e\u003c/a\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foutsung%2Fexpo-dynamic-app-icon","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foutsung%2Fexpo-dynamic-app-icon","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foutsung%2Fexpo-dynamic-app-icon/lists"}