From 6e20e966fbfd882e9a6db496300e4f28882999ce Mon Sep 17 00:00:00 2001 From: Akash Yadav Date: Mon, 24 Jan 2022 23:39:52 +0530 Subject: [PATCH] Update README.md --- README.md | 29 +++++++++++++++++++---------- images/icon.png | Bin 0 -> 20881 bytes 2 files changed, 19 insertions(+), 10 deletions(-) create mode 100644 images/icon.png diff --git a/README.md b/README.md index d7acc3131..1c819298b 100755 --- a/README.md +++ b/README.md @@ -1,5 +1,12 @@ -# AndroidIDE -AndroidIDE is an IDE for Android to develop full featured Android apps on Android smartphones. +

+ +

AndroidIDE

+

+

+

+ Minimum SDK + CI Build Status +

## Main Features - Supports Gradle @@ -15,10 +22,12 @@ More features will be implemented as we continue to develop this app. - [x] SDK Manager (Available via terminal) - [x] Gradlew support (with some limitations) - [x] API information for classes and their members (since, removed, deprecated). -- [ ] Implement language server for XML and Kotlin +- [ ] Implement language servers + - [ ] XML + - [ ] Kotlin - [ ] UI Designer - [x] Layout inflater - - [ ] Resolve resource references + - [x] Resolve resource references - [ ] Auto-complete resource values when user edits attributes using the attribute editor - [ ] Drag & Drop (*) - [ ] Visual attribute editor (*) @@ -27,11 +36,11 @@ More features will be implemented as we continue to develop this app. - [ ] Asset Studio (Drawable & Icon Maker) - [ ] Git (*) -Items marked with ```(*)``` are partially implemented. +Items marked with `(*)` are partially implemented. Git is currently available only in the terminal i.e. no GUI interface for `git`. ## Limitations -- Gradle Wrapper is supported. But, it requires that the project's application module is named 'app'. +- Gradle Wrapper is supported. But, it requires that the project's application module is named 'app'. - SDK Manager is already included in Android SDK and is accessible in AndroidIDE via its Terminal. But, you cannot use it to install some tools (like NDK) because those tools are not built for Android. - No official NDK support because we haven't built the NDK for Android. - No Android Gradle Plugin versions other than v7.0.2 are supported (due to AAPT2). @@ -67,9 +76,9 @@ If you open a build related issue, please provide these details: | AndroidIDE Gradle Support | AndroidIDE File Tree | ## Posts to help you get started -- [Installing AndroidIDE](https://telegra.ph/How-to-install-AndroidIDE-09-11) +- [Installing AndroidIDE](https://telegra.ph/How-to-install-AndroidIDE-09-11) - Author: [Marvin Stelter](https://github.com/MarvinStelter) -- [Create your first project](https://itsaky.github.io/create-your-first-project-in-androidIDE/) +- [Create your first project](https://itsaky.github.io/create-your-first-project-in-androidIDE/) - Author: [Akash Yadav](https://github.com/itsaky) ## Developers @@ -90,7 +99,7 @@ If you create new source files, please make sure you include the license header There are some things that you should take care of while writing related code. - Layout Inflater adapters - - [Read the docs](./layout-inflater/src/main/java/com/itsaky/layoutinflater/adapters/README.md) about layout inflater adapters. + - [Read the docs](./xml-inflater/src/main/java/com/itsaky/inflater/adapters/README.md) about layout inflater adapters. ### Any other ways to contribute? You can also write blog posts or create YouTube videos to help newbies get started. @@ -108,7 +117,7 @@ And all the developers who have contributed to this project. - [Website](https://androidide.com) - [Telegram](https://t.me/androidide_discussions) -## License +## License ``` AndroidIDE is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/images/icon.png b/images/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..61f27734d8dc73c065f351ba128a7956e00269ff GIT binary patch literal 20881 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 literal 0 HcmV?d00001