{"id":20312780,"url":"https://github.com/luismisanve/autoupdaterandroid","last_synced_at":"2025-08-21T09:08:31.761Z","repository":{"id":258225609,"uuid":"861790080","full_name":"LuisMiSanVe/AutoUpdaterAndroid","owner":"LuisMiSanVe","description":"Self-Update App for Android (Standalone and with auxiliar app)","archived":false,"fork":false,"pushed_at":"2025-03-14T12:05:13.000Z","size":14842,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-06T05:02:00.373Z","etag":null,"topics":["android","android-studio","apk","fileprovider","freeicons","ftp","java","xampp"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LuisMiSanVe.png","metadata":{"files":{"readme":"README.es.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,"zenodo":null}},"created_at":"2024-09-23T14:15:06.000Z","updated_at":"2025-05-13T09:33:18.000Z","dependencies_parsed_at":"2025-03-14T13:32:13.614Z","dependency_job_id":null,"html_url":"https://github.com/LuisMiSanVe/AutoUpdaterAndroid","commit_stats":null,"previous_names":["luismisanve/autoupdaterandroid"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/LuisMiSanVe/AutoUpdaterAndroid","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LuisMiSanVe%2FAutoUpdaterAndroid","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LuisMiSanVe%2FAutoUpdaterAndroid/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LuisMiSanVe%2FAutoUpdaterAndroid/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LuisMiSanVe%2FAutoUpdaterAndroid/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LuisMiSanVe","download_url":"https://codeload.github.com/LuisMiSanVe/AutoUpdaterAndroid/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LuisMiSanVe%2FAutoUpdaterAndroid/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271455249,"owners_count":24762701,"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-08-21T02:00:08.990Z","response_time":74,"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":["android","android-studio","apk","fileprovider","freeicons","ftp","java","xampp"],"created_at":"2024-11-14T18:07:30.204Z","updated_at":"2025-08-21T09:08:31.756Z","avatar_url":"https://github.com/LuisMiSanVe.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003e [Ver en ingles/See in english](https://github.com/LuisMiSanVe/AutoUpdaterAndroid/tree/main)\n# 📱 Actualizador Automático de Aplicaciones Android\n[![image](https://img.shields.io/badge/java-%23ED8B00.svg?style=for-the-badge\u0026logo=openjdk\u0026logoColor=white)](https://www.java.com/)\n[![image](https://img.shields.io/badge/Android-3DDC84?style=for-the-badge\u0026logo=android\u0026logoColor=white)](https://developer.android.com/studio)\n[![image](https://img.shields.io/badge/Xampp-F37623?style=for-the-badge\u0026logo=xampp\u0026logoColor=white)](https://www.apachefriends.org/es/index.html)\n[![image](https://img.shields.io/badge/Android_Studio-3DDC84?style=for-the-badge\u0026logo=android-studio\u0026logoColor=white)](https://developer.android.com/studio)\n\nDos proyectos, 'SelfUpdater' (AutoActualizador) y 'TestApp\u0026Updater' (AppPruebaYActualizador), uno recoge una APK con la actualización y la instala de la forma más simple posible, mientras que la otra usa una aplicación auxiliar para el mismo proceso.\nDeberás implementar el codigo de la TestApp en su aplicación para lanzar el Updater correctamente.\n## 📋 Prerequisitos\nLa aplicación Updater recoge de un Servidor FTP la APK por lo que necesitarás leventar un servidor por ejemplo uno local con [XAMPP](https://www.apachefriends.org/es/index.html) o programas similares.\n\u003e [!NOTE]\n\u003e Usaré XAMPP para explicar la funcionalidad del proyecto\n\n## 🛠️ Instalación\nEn XAMPP, levanta el Servidor FirezillaFTP, dale clic a 'Admin' y conectate al Servidor.\\\nArriba, selecciona `Edit\u003eUsers` y añade un nuevo usuario llamado 'user' (puedes llamarlo como quieras pero tendrás que cambiarlo en el código, pues así esta puesto por defecto) habilita la contraseña y escribe 'user' como contraseña tambien.\\\nEn la sección Page, selecciona 'Shared Folders' y añade la carpeta de 'FTPServer' que clonaste del repositorio y dale clic a 'Set as home dir'.\n\u003e [!NOTE]\n\u003e Dentro de [FTPServer, 'updater.apk'](https://github.com/LuisMiSanVe/AutoUpdaterAndroid/tree/main/FTPServer) solo se usa en el proyecto de TestApp\u0026Updater.\n\nEn el código, cambia 'URL_FTP' a tu IP publica (Comando `ipconfig` en Windows).\\\nCon eso, el Servidor FTP está configurado, ahora deberías implementar el código de TestApp a tu aplicación.\n## 📖 Sobre la App\nDependiendo de tus necesidades, el Updater es opcional, ya que está pensado de que en caso de actualizar necesites \u003cb\u003eborrar todos los datos de la aplicación\u003c/b\u003e. A veces, datos de versiones anteriores pueden dar problemas con las nuevas, pero por como Android está hecho, ese proceso no se puede hacer todo en una misma app (borrar todos los datos y luego actualizarse).\nEn caso que no necesites borrar tus datos al actualzar, usa la aplicacion self-update.\n- TestApp y Updater:\nAl inciar (o al darle al botón) busca por FTP el fichero [version.ver](https://github.com/LuisMiSanVe/AutoUpdaterAndroid/blob/main/FTPServer/version.ver) para comparar si la versión publicada es mayor o no a la instalada. Si el archivo marca una versión más nueva, el \u003cb\u003eproceso de actualización\u003c/b\u003e comienza.\nLa testapp intenta llamar a Updater en caso que esté instalada, si no lo está, descarga la APK del Servidor FTP y lo instala.\nEl Updater se abre solo en cuanto es instalado y empieza a descargar la APK con la actualización.\n- SelfUpdater:\nMismo proceso que la anterior pero no borra ningun dato y no instala ninguna app auxiliar.\n\n\u003e [!TIP]\n\u003e Si tienes una conexión lenta al servidor FTP, la verificación usada en [SelfUpdater (linea 158)](https://github.com/LuisMiSanVe/AutoUpdaterAndroid/blob/main/SelfUpdater/app/src/main/java/com/luismisanve/testapp/MainActivity.java) y [TestApp (linea 186)](https://github.com/LuisMiSanVe/AutoUpdaterAndroid/blob/main/TestApp%26Updater/TestApp/app/src/main/java/com/luismisanve/testapp/MainActivity.java) puede relentizar e incluso congelar tu descarga, resultando en un timeout, por lo que considera comentar esa linea.\n\n## 📂 Archivos\nEn el resitorio hay dos carpetas principales:\n- [TestApp\u0026Updater](https://github.com/LuisMiSanVe/AutoUpdaterAndroid/tree/main/TestApp%26Updater): Incluye dos apps, una de la que tienes que implementar el código en la tuya propia ([TestApp](https://github.com/LuisMiSanVe/AutoUpdaterAndroid/tree/main/TestApp%26Updater/TestApp)) y la auxiliar ([Updater](https://github.com/LuisMiSanVe/AutoUpdaterAndroid/tree/main/TestApp%26Updater/Updater)), principalmente usada para cuando quieres borrar todos los datos antes de actualizar.\n- [SelfUpdater](https://github.com/LuisMiSanVe/AutoUpdaterAndroid/tree/main/SelfUpdater): solo una app, necesitas incluir el código en tu propia aplicación.\n\nLos proyectos tienen una clase llamada [UpdateReceiver.cs](https://github.com/LuisMiSanVe/AutoUpdaterAndroid/blob/main/TestApp%26Updater/TestApp/app/src/main/java/com/luismisanve/testapp/UpdateReceiver.java) que se ejecuta automaticamente cuando un paquete se actualiza.\n## 💻 Tecnologías usadas\n- Lenguaje de programación: [Java](https://www.java.com/)\n- Plantilla: Empty Views Activity\n- API de Android: 24\n- Librerias:\n  - [FileProvider](https://developer.android.com/reference/androidx/core/content/FileProvider)\n  - FTP (3.8.0)\n- Otras:\n  - [XAMPP](https://www.apachefriends.org/es/index.html) (3.3.0)\n    - [FirezillaFTP](https://filezilla-project.org/)\n  - [FreeIcons](https://freeicons.io/) (Imagen)\n- IDE Recomendado: [Android Studio](https://developer.android.com/studio) (Koala Feature Drop 2024.1.2)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fluismisanve%2Fautoupdaterandroid","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fluismisanve%2Fautoupdaterandroid","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fluismisanve%2Fautoupdaterandroid/lists"}