Releases: AndroidIDEOfficial/AndroidIDE
v2.7.1-beta
AndroidIDE Version v2.7.1-beta Changelog
This patch release primarily focuses on making AndroidIDE available on F-Droid and includes some minor fixes.
Thanks to all the people who have contributed to this release (including our Crowdin translators).
Important notes
- AndroidIDE is now accessible on F-Droid! Please be aware that F-Droid builds have a distinct signature. Installing these builds over existing GitHub versions or vice versa will result in installation failure.
Additions
- Users with multiple JDKs can now select the JDK for Gradle builds in IDE Preferences -> Build & Run -> JDK version. Changes take effect after restarting AndroidIDE.
Removals
- The
$PREFIX/etc/ide-environment.properties
file is no longer used for setting environment variables in Gradle builds or the terminal.
Bug fixes
This release addresses the following issues:
- Resolved a bug causing the 'Clone repository' feature to consistently fail (#1608).
- Fixed occasional
NullPointerException
during the creation ofActionData
for editor text actions. - Resolved an
IllegalStateException
occurring when the build finishes after the activity is destroyed (#1604). - Corrected the use of an invalid publishing version name for Gradle Plugin and LogSender dependencies in F-Droid builds (#1620).
- Fixed the issue where the IDE failed to recognize the installed JDK 21 (#1616).
- Addressed occasional crashes when putting the IDE in the background due to non-existing
openedFiles.json
file (#1621). - Fixed incorrect display of project synchronization message when executing 'Sync project' action with unsaved Gradle files (#1594).
- Resolved build failure caused by
apply plugin: '...'
syntax in Gradle build scripts with a 'no repositories are defined' error (#1274). - 'Cancel build' action now properly cancels project initialization.
- Set
android:foregroundServiceType
forLogSenderService
to prevent crashes when targeting API 34. - Resolved inconsistent behavior caused by a duplicate preference key in keyboard-related terminal preferences (#1624).
We believe that you'll have a delightful experience using AndroidIDE v2.7.1-beta!
v2.7.0-beta
AndroidIDE Version v2.7.0-beta Changelog
This minor release fixes bugs while adding some necessary features and improvements.
Thanks to all the people who have contributed to this release (including our Crowdin translators).
Important note
- The method of installing the build tools has changed a bit. You can now use the GUI method (shown during onboarding) or you can install the tools manually as usual. You'll have an option to select the installation method at the onboarding screen.
Additions
- Termux application has now been integrated into the IDE. You can now spawn multiple, persistent sessions. The terminal packages are still limited as before.
- Support for
x86_64
CPUs has been added! You can now use AndroidIDE on emulators and WSA (Windows Subsystem for Android). - This version adds a new onboarding experience for AndroidIDE (#1399).
- The 'About' screen has been updated to include information about the people who have contributed to the AndroidIDE project.
Removals
No removals
Bug fixes
- Fixed a crash when selecting/closing files (#1498).
- Invalid editor activity state when closing files twice (#1549).
- Crash when reading opened files cache (#1478).
- Crash when signature help is requested by typing
,
in the editor for Java files (#1447, #1484). - Fixed a bug which caused the opened editors to be blank (no content) (#1551).
- Memory leak in editor activity (#1562).
- Fixed a bug which caused the LogSenderService to disconnect (#1385).
- Fixed a bug which caused a crash when selecting locales in preferences.
- Fixed a bug which caused
Material3
themes to be added in projects created with theNo AndroidX
template.
Improvements
- Added missing
false
,true
,null
completions in Java files (#1506). - Removed some spam logs (#1497, #1559).
We believe that you'll have a delightful experience using AndroidIDE v2.7.0-beta!
v2.6.1-beta
AndroidIDE Version v2.6.1-beta Changelog
In this release of AndroidIDE v2.6.1-beta, we have taken steps to address various issues, including critical ones.
Important Note
No significant notes in this release.
Additions
No new additions in this release.
Removals
- The
File tree
action (and related preference) has been removed from the editor activity. Please use the drawer toggle instead. - The first completion item is no longer automatically selected when the
ENTER
key is pressed (issue #1201). We plan to reintroduce this feature with a better implementation in future IDE versions.
Bug Fixes
- Fixed an
IndexOutOfBoundsException
when selecting from multi-choice preferences (issue #1444, issue #1473). - Resolved an
IndexOutOfBoundsException
when updating single-choice preferences without any changes (issue #1455). - Tooling API now functions correctly when working with preview versions of AGP (issue #1440).
- The editor's language is now updated when an opened file is renamed (issue #1406).
SymbolInputView
is no longer hidden when files are opened.- Previous signature help requests are now cancelled when a new request is made (issue #1393).
- Files are now renamed asynchronously, preventing UI lags when renaming large files (issue #1413).
SourceFileManager
no longer unnecessarily indexes the root project (issue #1396).- Fixed a misleading stack trace reported when launching the application (issue #1392).
- On-demand imports in Java files no longer cause the definition and reference providers to fail (issue #1449, issue #1211).
- Resolved a
NullPointerException
when publishing diagnostics to the editor (issue #1462). - Occasional
NullPointerException
when saving files has been addressed (issue #1463). - Fixed memory leaks caused due to
TSTree
instances not being closed by Java LSP. - Fixed a bug that cause build failures if the project had subprojects in sub-directories (issue #1491).
Improvements
- Action menus are now hidden if all of their child actions are hidden.
- Some missing keywords have been added to Java completions (issue #1420).
- The navigation drawer in the editor activity no longer takes up full-screen space in landscape mode (issue #1430).
- The save action is now disabled if another save operation is already in progress (issue #1391).
- Updated translations from Crowdin. Our heartfelt appreciation to all the Crowdin translators for their invaluable contributions.
Contributors
We believe that you'll have a delightful experience using AndroidIDE v2.6.1-beta!
v2.6.0-beta
AndroidIDE Version 2.6.0-beta Changelog
This minor release fixes bugs while adding some necessary features and improvements.
Thanks to all the people who have contributed to this release (including our Crowdin translators).
Important Note
- We have new GitHub sponsors!
- The AndroidIDE project is now supported by DigitalOcean Open Source Sponsorship program.
Additions
- You can now select the build variant for each Android module in the project (#223).
- Multiple application modules (
com.android.application
) in a project are now supported. - Support for static span colors has been added, allowing previewing the HEX colors in XML/Java/Kotlin files. If you have created a custom color scheme, you need to update your scheme according to this commit (see the language scheme files) in order to enable this feature.
- Android Gradle Plugin v8.2.x is now supported.
- New actions:
Disconnect logsenders
: Disconnects from all connected log senders at once.Long select
(editor text action): Allows selecting long text efficiently without using the selection handle.Launch app
: Launches the already installed application.
- New preferences:
- Preference to choose AndroidIDE's theme (requires restart if changed) :
- Blue wave - new default theme
- Sunny glow - the previous (yellowish) theme
- Material You
- Preference to choose language for AndroidIDE. Per-app language support has been added for Android 13+ devices.
- Preference to enable/disable sticky scroll in the editor (disabled by default).
- Preference to automatically launch application after build & install (disabled by default).
- Preference to enable/disable line number pinning in editor (enabled by default).
- Preferences to enable/disable log receiver service (enabled by default).
- Preference to choose AndroidIDE's theme (requires restart if changed) :
Bug Fixes
- Package installation sessions are not abandoned properly (#1213).
- Fixed a bug related to the build tools version in templates. Thanks to @MrIkso (#1220) and @Rafael2616 (#1243).
- 'Organize imports' action clears undo/redo history (#1210).
- Files are not saved before project synchronization (#1259).
- Options menu is not invalidated when closing files, resulting in NPE in
PreviewLayoutAction
(#1176). Thanks to @FaSheep (#1251). - 'Run tasks' dialog is not fully expanded on large screens (#975). Thanks to @FaSheep (#1253).
- Fixed a bug where the project synchronization issues were not handled properly.
layout
attribute in<include>
tags is not preserved while inflating XML layouts (#1214).- Build tasks are run on the caller thread, occasionally causing the main thread to freeze (#1268).
ClassCastException
while putting the app in the background (#1208).- Single-choice preferences are not dismissed when clicked outside. Thanks to @Rafael2616 (#1311).
- NPE when executing
RedoAction
(#1318). Quick run
action is not shown when the IDE is resumed from the background (#1314).- Crash while creating new files if the file name is empty (#1322).
- Last opened project is reset unnecessarily (#1225).
- Unable to exit UI Designer activity in case of XML generation failures (#1280).
- LogSender dependency is always
changing
, causing the Gradle configuration cache to always regenerate. IndexOutOfBoundsException
when checking for signature help (#1380).- NPE when trying to show error message for code action execution errors (#1408).
Improvements
- The file tree has now been moved to the start (left) drawer.
- The
Quick run
andCancel build
actions have now been merged into a single action. - Files are now read/saved asynchronously with progress bars.
- Updated icon for 'Clear' action in bottom sheet. Thanks to @Smooth-E (#1404).
- Proper error messages are now shown for template creation failures (#1276).
- Log receiver service is now started only when there is at least one client connected.
- Kotlin script files now have distinguishable file icon (#1140). Thanks to @FaSheep (#1252).
- Updated translations from Crowdin. We extend our heartfelt appreciation to all the Crowdin translators for their invaluable contributions.
Contributors
We believe that you'll have a delightful experience using AndroidIDE v2.6.0-beta!
v2.5.3-beta
AndroidIDE v2.5.3-beta
In this release of AndroidIDE v2.5.3-beta, we've taken steps to address a variety of issues, including critical ones.
Bug Fixes
We've successfully resolved the following issues:
- Fixed an issue where a
SocketException
would be logged even if the socket was manually closed, resulting in misleading logs appearing in the IDE logs (#1183). - Resolved a memory leak that was caused by the log line consumer not being properly released when the
LogSenderHandler
is closed. - Addressed a problem where the UI designer consistently crashed when attempting to edit the inflated layout (#1189).
- Fixed a crash that occurred when the workspace fragment in the UI designer was being destroyed (#1186).
- Corrected an implementation issue in
RecyclerViewFragment.isEmpty()
that was preventing diagnostics and search results from being displayed. - Disabled view binding for the Jetpack Compose template (#1196), thanks to @Rafael2616.
- Addressed a situation where the
LogSender
dependency introduced a transitive dependency to AndroidX'sViewBinding
library (#1199).
Enhancements
We've also made the following improvements to enhance your experience:
- Updated translations from Crowdin. We extend our heartfelt appreciation to all the Crowdin translators for their invaluable contributions.
It's important to note that while this release might not feature major changes to the application's functionality, it does include critical bug fixes that significantly improve the application's stability and reliability.
We believe that you'll have a delightful experience using AndroidIDE v2.5.3-beta!
v2.5.2-beta
AndroidIDE v2.5.2-beta
In this release, AndroidIDE v2.5.2-beta, we're addressing a range of issues, including critical ones, and introducing several enhancements to ensure a smoother and more enjoyable user experience.
Bug Fixes
We've resolved the following issues:
- Fixed a crash that occurred when attempting to preview a layout containing a
TextureView
. (Issue #1129) - Resolved a crash that happened when users continuously toggled the visibility of the
ViewInfoSheet
. (Issue #1169) - Addressed an issue with
LogSender
client additions not synchronizing correctly, leading to aConcurrentModificationException
. (Issue #1132) - Fixed the problem where the cache of opened files would always be empty after manually closing and reopening a project. (Issue #1116)
- Resolved a
NullPointerException
occurring when attempting to execute aCodeActionItem
with the language client. (Issue #1156) - Addressed the
StringIndexOutOfBoundsException
that arose when users tried to override a superclass method and the source file contained\t
characters as indentation. (Issue #1127) - Fixed the duplication of attribute namespaces when selecting an attribute completion item from the completion window. (Issue #1122)
Enhancements
We've made the following improvements to enhance your experience:
- The IDE now provides hints in cases of empty logs or lists within the bottom sheet. (Issue #1157, Issue #1158)
- The first level of the file tree (project root) will now be automatically expanded for your convenience. (Issue #1073)
- Translations from Crowdin have been updated. We express our sincere gratitude to all the Crowdin translators for their valuable contributions.
Acknowledgements
Thanks to @Rafael2616 for his contribution in PR #1141.
It's important to note that while this release might not include major feature changes, it does incorporate critical bug fixes that significantly enhance the stability and reliability of the application.
We trust that you'll have a delightful experience with AndroidIDE v2.5.2-beta!
v2.5.1-beta
AndroidIDE v2.5.1-beta
This patch release addresses various bugs, including critical issues, and introduces some improvements for a smoother user experience.
Fixes
- Resolved a crash caused by invalid screen states (#1109).
- Fixed an
IndexOutOfBoundsException
occurring inMultiLogSenderHandler
(#1110).
Improvements
- Enhanced syntax highlighting for Java and Kotlin languages (#1051).
- Custom color schemes now fallback to the default color scheme for schemes that do not specify colors for a specific file or type.
- Updated translations from Crowdin. We extend our gratitude to all the Crowdin translators for their contributions.
Please note that although no significant changes are present in this release, it includes critical bug fixes that enhance the stability and reliability of the application.
We hope you enjoy using AndroidIDE v2.5.1-beta!
v2.5.0-beta
AndroidIDE v2.5.0-beta
Read this on The AndroidIDE Blog.
This minor release fixes a lot of bugs while adding some necessary features and improvements.
Thanks to all the people who have contributed to this release (including our Crowdin translators
).
Important notes
-
AndroidIDE now has a blog! Visit the blog page to find updates/tutorials related to AndroidIDE.
-
The documentation has been moved to the website. Visit the docs.
-
AndroidIDE now collects fully anonymous statistics to help us better understand our user base. The statistics data that is shared with us can be viewed in preferences. We want to assure you that the statistics collection feature is entirely optional and you can easily opt out of this data collection anytime.
-
@john-peterson is our first ever GitHub Sponsor!
Additions
- Code snippets are now supported for Java files. Snippets appear in the code completion window and insert a pre-defined piece of code when selected. Learn more.
- New Java code action:
Fix imports
- Use this action to import all non-imported classes at once.
- A brand new
LogSender
implementation which fixes a lot of related issues. Learn more. - Templates can now be created in Java or Kotlin and with or without Kotlin DSL.
- Added preferences for deleting empty lines fast and deleting multiple spaces at once.
- XML tags are now automatically closed when you type
/
. .gitignore
file is now automatically generated when creating new projects (#1014).- You can now dump AndroidIDE logs from
logcat
to$HOME/.androidide/logs
directory. This will be useful for us to help us debug issues.
Fixes
- Content modification status is not updated sometimes (#878).
- Text action window in editor covers selected line when shown for the first time (#881).
- Crash while editing attribute values in UI designer (#873).
- Search mode is not disabled after
Find in file
action is executed, which results in text actions window not being shown (#871). - Crash when trying to install APK on MIUI (#882).
- Occasional crash when opening Kotlin files (#872).
- Code completion in Gradle files pop up on every key press.
- Code completion items without
detail
field are not clickable. Create missing method
action ignores tab width preference.Expand selection
action does not work for expanding selection to parent tree of class declaration or package declaration.ClassCastException
in progress sheet (#904).- Text actions window is not shown when in search mode.
- Code completions sometimes import an already imported class.
- Crash due to build service instance not released from service binder (#870).
GridLayout
in UI designer is now limited torowCount * columnCount
children to avoid crash (#982).- Language client tries to perform code actions when the activity is being destroyed (#950).
- The chevron icon is shown for files in file tree (#1015).
- Back button gesture doesn't work in main activity.
- NPE when executing
Add throws
action (#1050). - Progress dialog is shown indefinitely when finding references to types or members.
Removals
- Some of the project templates have been removed.
Improvements
- Code actions now use your tab preference to indent generated code instead of the default 4-space indentation.
Create missing method
action can now create missing methods in classes defined in other files.- The number of log lines that can be displayed in the log view has now been limited to 5000 lines. When the number of log lines reaches this limit, the IDE automatically trims the lines at the start. This helps in reducing load and memory usage.
- More actions are now available in the editor activity's toolbar for better accessibility. Thanks to @Smooth-E (#1019).
- Design improvements in the main activity. Thanks to @Smooth-E (#1023).
Thanks to @PranavPurwar for #1025, #1033.
v2.4.1-beta
AndroidIDE v2.4.1-beta
Important notes
- The terminal packages have been moved to
packages.androidide.com/apt/termux-main
.
Fixes
- Project initialization fails if the project contains a
java-library
module. - Classes from the same package are imported when selecting a class completion item (#869).
v2.4.0-beta
AndroidIDE v2.4.0-beta
This release fixes some minor issues and adds some important features including tree-sitter syntax highlighting support for Kotlin and JSON files.
Important notes
No notes
Additions
- Added a preference to disable java source code analysis (EXPERIMENTAL).
- Added support for syntax highlighting Java package name, imports and field accesses.
- Tree Sitter syntax highlighting support has been added for the following languages :
- Kotlin -
kt
andkts
files. - JSON -
json
files.
- Kotlin -
- Added option to reload color schemes at runtime.
- Root project directory is now shown in the file tree to allow working with files in the project root.
- There is now a file size limit of
10MB
for the editor. This means that the users will NOT be able to open files larger than10MB
in the editor. - An asterisk (
*
) is now shown before the file names of files that have been modified in the editor. - Files with same name are now distinguishable when opened in editor.
- Translations have been updated. Thanks to the Crowdin project members.
Fixes
- Java code completion becomes unresponsive when completions are requested in an anonymous class (bdd119d).
- Fully qualified names are inserted when a XML tag completion item is selected (#837).
- IDE closes on reopening a project (#798).
- Editor lags on continuously deleting text.
- Avoid crash if the device doesn't support
OPEN_DOCUMENT_TREE
intent action. EventBus
is sometimes reinstalled multiple times, resulting in a crash (#809).- Trying to reinitialize project when the tooling server is not started results in a crash (#847).
- Tab text is not updated when an opened file is renamed. This leads to another copy of the same file.
- Fixed some memory leaks.
Improvements
- Improved colors in editor windows.
- Signture help window is now given more priority over the diagnostics window. This means, if the signature help window is visible to the user, the diagnostics window will not be shown.
- The IDE now releases some unnecessary resources when a file is deleted or renamed.