{"id":38896433,"url":"https://github.com/dorneanu/adus","last_synced_at":"2026-01-17T15:00:37.168Z","repository":{"id":20387590,"uuid":"23663331","full_name":"dorneanu/adus","owner":"dorneanu","description":"Android Debug Utility Suite","archived":false,"fork":false,"pushed_at":"2015-04-19T10:18:34.000Z","size":19556,"stargazers_count":17,"open_issues_count":2,"forks_count":9,"subscribers_count":7,"default_branch":"master","last_synced_at":"2024-04-18T00:13:25.348Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","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/dorneanu.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-09-04T13:26:40.000Z","updated_at":"2022-09-10T03:25:27.000Z","dependencies_parsed_at":"2022-07-31T18:18:56.251Z","dependency_job_id":null,"html_url":"https://github.com/dorneanu/adus","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/dorneanu/adus","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dorneanu%2Fadus","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dorneanu%2Fadus/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dorneanu%2Fadus/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dorneanu%2Fadus/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dorneanu","download_url":"https://codeload.github.com/dorneanu/adus/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dorneanu%2Fadus/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28510928,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T13:38:16.342Z","status":"ssl_error","status_checked_at":"2026-01-17T13:37:44.060Z","response_time":85,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":[],"created_at":"2026-01-17T15:00:18.318Z","updated_at":"2026-01-17T15:00:36.358Z","avatar_url":"https://github.com/dorneanu.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Motivation\n\nAfter having written my [post](http://blog.dornea.nu/2014/08/21/howto-debug-android-apks-with-eclipse-and-ddms/) on debugging with Eclipse and DDMS, I wanted to somehow automate those steps. And this is how\nADUS got born. \n\nIts basically only a BASH script ment to glue things together and make my life easier. Feel free to adapt it to your needs. Pull requests are highly welcome.\n\n# Requirements\n\n* *adus.sh*\n  + bash :)\n* *apktool*\n  + Java \u003e= 1.7.x ([link](https://code.google.com/p/android-apktool/wiki/BuildApktool#Requirements))\n  + aapt (Android Asset Packaging Tool) in $PATH (usually found in android-sdk/build-tools/*)\n* *signapk*\n  + no specific requirements\n* *dex2jar*\n  + no specific requirements\n\n\n# Installation\n\nYou can download/clone the package wherever you want and call `./adus.sh` from there. Since the GIT repo is quite big (ca. 28M) you should download it only once and copy it to `/opt/adus/`. Make sure you adapt your `$PATH` to point to `/opt/adus/adus.sh`. Afterwards you should be able to call `adus.sh` system-wide. \n\n# Run \n\nADUS is very easy to use. Have a look at the available options:\n\n~~~ shell\n\n            __   ____  _  _  ____  \n           / _\\ (    \\/ )( \\/ ___) \n          /    \\ ) D () \\/ (\\___ \\ \n          \\_/\\_/(____/\\____/(____/ \n\n      [A]ndroid [D]ebug [U]tility [S]uite\n    \nUsage: ./adus.sh \u003coptions\u003e\nAvailable options:\n -h                      Print this message\n -b \u003capp_path\u003e           Build new APK from source directory\n -d \u003capp_path\u003e           Dump APK to ./source\n -s \u003capp_path\u003e           Sign APK using test certificate\n -u \u003capp_path\u003e           Unpack APK to ./unpacked\n -x \u003cdex_path\u003e           Convert DEX to JAR\n -q                      Be quite. Deactivate verbosity.\n -0 \u003capp_path\u003e           Dump (-d) and unpack (-u) APK\n -1 \u003capp_path\u003e           Build (-b) and sign (-s)\n\n\n~~~\n\n\n# Tested on ...\n\n* Linux \n* Windows 7\n  + Using [Git Bash](http://msysgit.github.io/)\n\n\u003eCan anyone confirm ADUS running on *BSD?\n\n# Examples\n\n### Unpack and dump APK\n\nGiven an APK ADUS will dump the contents to `./source` using `apktool`. Afterwards it will unpack the APK (=ZIP file) to `./unpacked` using `unzip`. The `-0` command is actually a combo of `-d` and `-u`.\n\n~~~ shell\n# ./adus.sh -0 FakeBanker.apk \n[2014-09-04 20:48:35] INFO: Dumping FakeBanker.apk to ./source ... \nI: Using Apktool 2.0.0-dirty on FakeBanker.apk\nI: Loading resource table...\nI: Loading resource table...\nI: Decoding AndroidManifest.xml with resources...\nI: Loading resource table from file: /home/victor/apktool/framework/1.apk\nI: Regular manifest package...\nI: Decoding file-resources...\nI: Decoding values */* XMLs...\nI: Baksmaling classes.dex...\nI: Copying assets and libs...\nI: Copying unknown files...\nI: Copying original files...\n[2014-09-04 20:48:39] INFO: Success!\n[2014-09-04 20:48:39] INFO: Unpacking FakeBanker.apk to ./unpacked ... \nArchive:  FakeBanker.apk\nsigned by SignApk\n  inflating: ./unpacked/META-INF/MANIFEST.MF  \n  inflating: ./unpacked/META-INF/CERT.SF  \n  inflating: ./unpacked/META-INF/CERT.RSA  \n  inflating: ./unpacked/AndroidManifest.xml  \n  inflating: ./unpacked/classes.dex  \n extracting: ./unpacked/res/drawable-hdpi/ic_launcher1.png  \n extracting: ./unpacked/res/drawable-hdpi/logo.png  \n extracting: ./unpacked/res/drawable-ldpi/ic_launcher1.png  \n extracting: ./unpacked/res/drawable-mdpi/ic_launcher1.png  \n extracting: ./unpacked/res/drawable-xhdpi/ic_launcher1.png  \n  inflating: ./unpacked/res/layout/actup.xml  \n  inflating: ./unpacked/res/layout/main.xml  \n  inflating: ./unpacked/res/layout/main2.xml  \n  inflating: ./unpacked/res/menu/main.xml  \n extracting: ./unpacked/res/raw/blfs.key  \n  inflating: ./unpacked/res/raw/config.cfg  \n  inflating: ./unpacked/resources.arsc  \n[2014-09-04 20:48:39] INFO: Success!\n~~~\n\n\n### Build and sign new APK\n\nADUS will build a new APK from `./source` and sign it using `signapk`. The `-1` command consists of `-b` and `-s`.\n\n~~~ shell\n./adus.sh -1 FakeBanker-NEW.apk\n[2014-09-04 20:52:01] INFO: Building APK from ./source ... \n\nI: Using Apktool 2.0.0-dirty on source\nI: Checking whether sources has changed...\nI: Smaling smali folder into classes.dex...\nI: Checking whether resources has changed...\nI: Building resources...\nWarning: AndroidManifest.xml already defines debuggable (in http://schemas.android.com/apk/res/android); using existing value in manifest.\nI: Building apk file...\n[2014-09-04 20:52:06] INFO: Success! FakeBanker-NEW.apk is your new APK.\n[2014-09-04 20:52:06] INFO: Signing FakeBanker-NEW.apk ...\n[2014-09-04 20:52:06] INFO: Success! FakeBanker-NEW.SIGNED.apk is your signed APK.\n~~~\n\n\n### Convert dex to jar\n\nUsing dex2jar you'll be able to convert the `classes.dex` into a `jar` file.\n\n~~~ shell\n./adus.sh -x unpacked/classes.dex\n[2014-09-04 20:53:14] INFO: Converting unpacked/classes.dex to JAR ... \ndex2jar unpacked/classes.dex -\u003e ./unpacked/classes-dex2jar.jar\n[2014-09-04 20:53:17] INFO: Success! Converted file is at ./unpacked/classes-dex2jar.jar\n~~~\n\n\n# License\n\nReleased under the MIT License. Check out `License.md`.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdorneanu%2Fadus","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdorneanu%2Fadus","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdorneanu%2Fadus/lists"}