Skip to content

Commit a51d2ab

Browse files
committed
feat: update readme
1 parent d09f3fa commit a51d2ab

File tree

1 file changed

+46
-219
lines changed

1 file changed

+46
-219
lines changed

README.md

Lines changed: 46 additions & 219 deletions
Original file line numberDiff line numberDiff line change
@@ -1,243 +1,70 @@
1-
# Awesome-android-tooling
2-
![Group 1 from Figma](https://github.com/user-attachments/assets/94043874-cea7-49a9-a284-28d8cfa054eb)
1+
# 🛠️ Awesome Android Tooling
32

3+
![Android Tooling Header](https://github.com/user-attachments/assets/94043874-cea7-49a9-a284-28d8cfa054eb)
44

5-
Awesome Android tooling! Discover a curated list of tools that can be helpful building, testing, and optimizing your Android apps. Boost your development workflow and app quality with these essential resources.
5+
<p align="center">
6+
<a href="https://github.com/yogeshpaliyal/awesome-android-tooling/stargazers"><img alt="GitHub stars" src="https://img.shields.io/github/stars/yogeshpaliyal/awesome-android-tooling?style=for-the-badge"></a>
7+
<a href="https://github.com/yogeshpaliyal/awesome-android-tooling/network"><img alt="GitHub forks" src="https://img.shields.io/github/forks/yogeshpaliyal/awesome-android-tooling?style=for-the-badge"></a>
8+
<a href="https://github.com/yogeshpaliyal/awesome-android-tooling/issues"><img alt="GitHub issues" src="https://img.shields.io/github/issues/yogeshpaliyal/awesome-android-tooling?style=for-the-badge"></a>
9+
<a href="https://github.com/yogeshpaliyal/awesome-android-tooling/blob/main/LICENSE"><img alt="GitHub license" src="https://img.shields.io/github/license/yogeshpaliyal/awesome-android-tooling?style=for-the-badge"></a>
10+
</p>
611

7-
---
8-
9-
## Command Line Tools
10-
The Android SDK is composed of multiple packages that are required for app development. This page lists the most important command-line tools that are available, organized by the packages in which they're delivered.
11-
[More Detail](https://developer.android.com/tools)
12+
<p align="center">
13+
<b>A curated collection of essential tools for Android development</b><br>
14+
Discover tools that can significantly improve your workflow when building, testing, and optimizing Android apps.
15+
</p>
1216

13-
### ADB (Android Debug Bridge)
14-
A command-line tool that facilitates communication between your development PC and Android devices, enabling debugging and testing.
15-
[More Detail](https://developer.android.com/tools/adb)
17+
## 🌟 [View the Interactive Tool Collection](https://yogeshpaliyal.github.io/awesome-android-tooling/)
1618

19+
## 📑 Categories
1720

18-
### AAPT2
19-
AAPT2 (Android Asset Packaging Tool) is a build tool that Android Studio and Android Gradle Plugin use to compile and package your app's resources. AAPT2 parses, indexes, and compiles the resources into a binary format that is optimized for the Android platform.
20-
[More Detail](https://developer.android.com/tools/aapt2)
21+
- [Command Line Tools](#command-line-tools) - Tools that run from your terminal
22+
- [Android Studio Tools](#android-studio) - Built-in features to enhance your IDE experience
23+
- [Jetpack Compose Tools](#jetpack-compose) - Tools specific to modern UI development
2124

25+
## ✨ Highlights
2226

23-
### apkanalyzer
24-
The command-line version of APK Analyzer provides immediate insight into the composition of your APK after the build process completes and lets you compare differences between two APKs. Using APK Analyzer reduces the time you spend debugging issues with DEX files and resources within your app and reduces the size of your APK.
25-
[More Detail](https://developer.android.com/tools/apkanalyzer)
27+
- **38+ Tools** covering all aspects of Android development
28+
- **Detailed descriptions** of each tool's purpose and capabilities
29+
- **Direct links** to official documentation
30+
- **Categorized by type** for easy discovery
2631

2732

33+
## 🤝 How to Contribute
2834

29-
### apksigner
30-
The `apksigner` tool, available in revision 24.0.3 and higher of the Android SDK Build Tools, lets you sign APKs and confirm that an APK's signature will be verified successfully on all versions of the Android platform supported by that APK.
31-
[More Detail](https://developer.android.com/tools/apksigner)
35+
We welcome contributions! Adding new tools or improving the documentation is easy:
3236

37+
1. **Fork** the repository
38+
2. **Add your tool** to the appropriate JSON file in the `data/` directory
39+
3. **Validate** your changes with `bun run validate`
40+
4. **Submit** a pull request
3341

42+
See our detailed [contribution guide](CONTRIBUTING.md) for step-by-step instructions.
3443

35-
### avdmanager
36-
The `avdmanager` is a command-line tool that lets you create and manage Android Virtual Devices (AVDs) from the command line. An AVD lets you define the characteristics of an Android handset, Wear OS watch, or Android TV device that you want to simulate in the Android Emulator.
37-
[More Detail](https://developer.android.com/tools/avdmanager)
44+
## 🚀 Getting Started with the Project
3845

46+
If you want to run this project locally:
3947

40-
### bmgr
41-
bmgr is a shell tool you can use to interact with the Backup Manager on Android devices version 2.2 (API Level 8) or higher. The tool provides commands to initiate backup and restore operations so that you don't need to repeatedly wipe data or take similar intrusive steps in order to test your application's backup functionality. The bmgr tool supports both Auto Backup and Key/Value Backup.
42-
[More Detail](https://developer.android.com/tools/bmgr)
48+
```bash
49+
# Clone the repository
50+
git clone https://github.com/yogeshpaliyal/awesome-android-tooling.git
4351

52+
# Enter the project directory
53+
cd awesome-android-tooling
4454

55+
# Install dependencies
56+
bun install
4557

46-
### bundletool
47-
`bundletool` is the underlying tool that Android Studio, the Android Gradle plugin, and Google Play use to build an Android App Bundle. bundletool can convert an app bundle into the various APKs that are deployed to devices.
48-
[More Detail](https://developer.android.com/tools/bundletool)
58+
# Run the development server
59+
bun run dev
60+
```
4961

62+
## 📄 License
5063

64+
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
5165

52-
### d8
53-
`d8` is a command-line tool that Android Studio and the Android Gradle plugin use to compile your project's Java bytecode into DEX bytecode that runs on Android devices. d8 lets you use Java 8 language features in your app's code.
54-
[More Detail](https://developer.android.com/tools/d8)
66+
## 🙏 Acknowledgements
5567

56-
57-
### dmtracedump
58-
`dmtracedump` is a tool that generates graphical call-stack diagrams from trace log files. The tool uses the Graphviz Dot utility to create the graphical output, so you need to install Graphviz before running dmtracedump. If you haven't yet generated trace logs and saved them from your connected device to your local machine, go to Generate trace logs by instrumenting your app.
59-
[More Detail](https://developer.android.com/tools/dmtracedump)
60-
61-
62-
63-
64-
### dumpsys
65-
`dumpsys` is a tool that runs on Android devices and provides information about system services. Call dumpsys from the command line using the Android Debug Bridge (ADB) to get diagnostic output for all system services running on a connected device.
66-
[More Detail](https://developer.android.com/tools/dumpsys)
67-
68-
69-
70-
71-
### etc1tool
72-
`etc1tool` is a command line utility that lets you encode PNG images to the ETC1 compression standard and decode ETC1 compressed images back to PNG.
73-
[More Detail](https://developer.android.com/tools/etc1tool)
74-
75-
76-
77-
78-
### jobb
79-
The `jobb` tool lets you build encrypted and unencrypted APK expansion files in Opaque Binary Blob (OBB) format. You can download and mount these expansion files in your application using StorageManager on devices with Android 2.3 (API Level 9) or higher. OBB files provide additional file assets for Android applications, such as graphics, sounds, and video, separate from an application's APK file. For more information on using expansion files, see APK Expansion Files.
80-
[More Detail](https://developer.android.com/tools/jobb)
81-
82-
83-
84-
85-
86-
### Jetifier
87-
The standalone Jetifier tool migrates support-library-dependent libraries to instead rely on the equivalent AndroidX packages. The tool lets you migrate an individual library directly instead of using the Android Gradle plugin bundled with Android Studio.
88-
[More Detail](https://developer.android.com/tools/jetifier)
89-
90-
91-
92-
93-
### Logcat command-line tool
94-
Logcat is a command-line tool that dumps a log of system messages including messages that you have written from your app with the Log class.
95-
[More Detail](https://developer.android.com/tools/logcat)
96-
97-
98-
### mksdcard
99-
Use the mksdcard tool to create a FAT32 disk image that you can load into emulators running different Android Virtual Devices (AVDs) to simulate the presence of the same SD card in multiple devices.
100-
[More Detail](https://developer.android.com/tools/mksdcard)
101-
102-
103-
104-
105-
### R8 retrace
106-
R8 retrace is a tool for obtaining the original stack trace from an obfuscated stack trace. The stack trace is reconstructed by matching class and method names in a mapping file to their original definitions.
107-
[More Detail](https://developer.android.com/tools/retrace)
108-
109-
110-
111-
112-
### sdkmanager
113-
The `sdkmanager` is a command-line tool that lets you view, install, update, and uninstall packages for the Android SDK. If you're using Android Studio, then you don't need to use this tool, and you can instead manage your SDK packages from the IDE.
114-
[More Detail](https://developer.android.com/tools/sdkmanager)
115-
116-
117-
### sqlite3
118-
From a remote shell to your device or from your host machine, use the sqlite3 command-line program to manage SQLite databases created by Android applications. The sqlite3 tool includes many useful commands, such as .dump to print out the contents of a table and .schema to print the SQL CREATE statement for an existing table. The tool also gives you the ability to execute SQLite commands on the fly.
119-
[More Detail](https://developer.android.com/tools/sqlite3)
120-
121-
122-
### perfetto
123-
`perfetto` is a tool that lets you collect performance information from Android devices via the Android Debug Bridge (ADB).
124-
[More Detail](https://developer.android.com/tools/perfetto)
125-
126-
127-
128-
### zipalign
129-
`zipalign` is a zip archive alignment tool that helps ensure that all uncompressed files in the archive are aligned relative to the start of the file. This lets the files be accessed directly via mmap(2) , removing the need to copy this data in RAM and reducing your app's memory usage.
130-
[More Detail](https://developer.android.com/tools/zipalign)
131-
132-
---
133-
134-
## Android Studio
135-
136-
### Layout Inspector
137-
Enables you to inspect and debug the layout of your UI in an emulator or physical device.
138-
[More Detail](https://developer.android.com/studio/debug/layout-inspector)
139-
140-
### Network Inspector
141-
The Network Inspector displays real-time network activity on a timeline, showing data sent and received. The Network Inspector lets you examine how and when your app transfers data and optimize the underlying code appropriately.
142-
[More Detail](https://developer.android.com/studio/debug/network-profiler)
143-
144-
145-
### Database Inspector
146-
The Database Inspector lets you inspect, query, and modify your app's databases while your app is running. This is especially useful for database debugging. The Database Inspector works with plain SQLite and with libraries built on top of SQLite, such as Room.
147-
[More Detail](https://developer.android.com/studio/inspect/database)
148-
149-
### WorkManager Worker Inspector
150-
The Background Task Inspector helps you visualize, monitor, and debug your app's background workers when using WorkManager library 2.5.0 or higher.
151-
[More Detail](https://developer.android.com/studio/inspect/task)
152-
153-
### Device Explorer
154-
The Device Explorer lets you view, copy, and delete files on an Android device. It's useful when examining files your app creates or if you want to transfer files to and from a device.
155-
[More Detail](https://developer.android.com/studio/debug/device-file-explorer)
156-
157-
158-
### Debug APK
159-
Android Studio 3.0 and higher lets you profile and debug APKs that have debugging enabled without having to build them from an Android Studio project.
160-
[More Detail](https://developer.android.com/studio/debug/apk-debugger)
161-
162-
163-
### Take A Screenshot
164-
On many Android devices, you can capture a screenshot by pressing the Power and Volume-down buttons on the device simultaneously. To save a screenshot directly to your workstation, you can capture the screenshot using Android Studio.
165-
[More Detail](https://developer.android.com/studio/debug/am-screenshot)
166-
167-
### Record A Video
168-
Logcat lets you record an MP4 video from your device, such as for marketing materials or for debugging. Videos are a maximum of three minutes long, and audio is not recorded with the video file.
169-
[More Detail](https://developer.android.com/studio/debug/am-video)
170-
171-
172-
### Capture and read bug reports
173-
A bug report contains device logs, stack traces, and other diagnostic information to help you find and fix bugs in your app. To capture a bug report from your device, use the Take bug report developer option on the device, the Android Emulator menu, or the `adb bugreport` command on your development machine.
174-
[More Detail](https://developer.android.com/studio/debug/bug-report)
175-
176-
177-
### APK Analyzer
178-
Android Studio includes an APK Analyzer that provides immediate insight into the composition of your APK or Android App Bundle after the build process completes. Using the APK Analyzer can reduce the time you spend debugging issues with DEX files and resources within your app and help reduce your APK size. The APK Analyzer is also available from the command line with `apkanalyzer`.
179-
[More Detail](https://developer.android.com/studio/debug/apk-analyzer)
180-
181-
---
182-
183-
## Jetpack Compose
184-
### Preview UI
185-
Preview, organize, and interact with composables.
186-
[More Detail](https://developer.android.com/develop/ui/compose/tooling/previews)
187-
188-
### Preview Animation
189-
Inspect, debug, and preview animations frame by frame.
190-
[More Detail](https://developer.android.com/develop/ui/compose/tooling/animation-preview)
191-
192-
### Live Edit
193-
Apply changes and see them in real time without doing full builds.
194-
[More Detail](https://developer.android.com/develop/ui/compose/tooling/iterative-development)
195-
196-
### Editor actions
197-
Use templates, gutter icons, and more in the Android Studio editor window.
198-
[More Detail](https://developer.android.com/develop/ui/compose/tooling/editor-actions)
199-
200-
### Compose Layout Inspector
201-
Inspect a Compose layout in an emulator or physical device.
202-
[More Detail](https://developer.android.com/develop/ui/compose/tooling/debug#layout_inspector)
203-
204-
### Compose UI Check
205-
Inspect Compose UI for accessibility and adaptive issues.
206-
[More Detail](https://developer.android.com/develop/ui/compose/tooling/debug#compose_ui_check)
207-
208-
### Composition Tracing
209-
Trace your composable functions in a system trace.
210-
[More Detail](https://developer.android.com/develop/ui/compose/tooling/tracing)
211-
212-
### Relay (Design to code)
213-
Provide instant handoff of Android UI components between designers and developers. Designers can package up UI Components with information about layout, styling, dynamic content and interaction behavior. Developers can import those packages and convert them to Jetpack Compose code.
214-
[More Detail](https://developer.android.com/develop/ui/compose/tooling/relay)
215-
216-
---
217-
218-
## How to Contribute
219-
220-
We welcome contributions from the community! Here are some ways you can contribute:
221-
222-
### Reporting Issues
223-
224-
If you encounter any issues or have suggestions for improvements, please open an issue on GitHub. Provide as much detail as possible to help us understand and address the problem.
225-
226-
### Suggesting New Resources
227-
228-
If you have come across valuable resources related to Android development that are not included in this repository, feel free to suggest them. You can do this by opening an issue or submitting a pull request with the details of the resource.
229-
230-
### Submitting Pull Requests
231-
232-
We encourage you to contribute to this repository by submitting pull requests. Here are the steps to follow:
233-
234-
1. Fork the repository.
235-
2. Create a new branch for your contribution.
236-
3. Make your changes and commit them with clear and descriptive commit messages.
237-
4. Push your changes to your forked repository.
238-
5. Open a pull request, providing a detailed description of your changes.
239-
240-
### Code of Conduct
241-
242-
Please note that we have a code of conduct in place to ensure a welcoming and inclusive environment for all contributors. We expect all contributors to adhere to this code of conduct. You can find the code of conduct [here](./CODE_OF_CONDUCT.md).
68+
- Thanks to all [contributors](https://github.com/yogeshpaliyal/awesome-android-tooling/graphs/contributors) who have helped make this resource better
69+
- Android is a trademark of Google LLC
24370

0 commit comments

Comments
 (0)