diff --git a/.idea/copyright/Akash_Yadav.xml b/.idea/copyright/Akash_Yadav.xml
index e3094f0c1..70c6abdc6 100755
--- a/.idea/copyright/Akash_Yadav.xml
+++ b/.idea/copyright/Akash_Yadav.xml
@@ -1,6 +1,7 @@
-
-
-
-
-
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 8336e9f78..5bfd388ab 100755
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -144,11 +144,18 @@
+
+
+
+
+
+
+
diff --git a/actions/build.gradle b/actions/build.gradle
index 653185dbf..c1f471947 100644
--- a/actions/build.gradle
+++ b/actions/build.gradle
@@ -16,6 +16,10 @@ android {
sourceCompatibility rootProject.ext.javaSourceVersion
targetCompatibility rootProject.ext.javaTargetVersion
}
+
+ kotlinOptions {
+ jvmTarget = "11"
+ }
buildTypes {
release {
@@ -32,6 +36,7 @@ dependencies {
implementation androidx.ktx
implementation common.kotlin
}
+
repositories {
mavenCentral()
-}
+}
\ No newline at end of file
diff --git a/app/src/main/assets/data/common/tooling-api-all.jar b/app/src/main/assets/data/common/tooling-api-all.jar
index b5ac15296..5c01e14a9 100644
Binary files a/app/src/main/assets/data/common/tooling-api-all.jar and b/app/src/main/assets/data/common/tooling-api-all.jar differ
diff --git a/app/src/main/java/com/itsaky/androidide/filepicker/IDEDocumentsProvider.java b/app/src/main/java/com/itsaky/androidide/filepicker/IDEDocumentsProvider.java
index 0972126f2..3472a6110 100644
--- a/app/src/main/java/com/itsaky/androidide/filepicker/IDEDocumentsProvider.java
+++ b/app/src/main/java/com/itsaky/androidide/filepicker/IDEDocumentsProvider.java
@@ -39,6 +39,7 @@ import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Collections;
import java.util.LinkedList;
+import java.util.Locale;
/**
* A document provider for the Storage Access Framework which exposes the files in the $HOME/
@@ -117,7 +118,7 @@ public class IDEDocumentsProvider extends DocumentsProvider {
final String name = file.getName();
final int lastDot = name.lastIndexOf('.');
if (lastDot >= 0) {
- final String extension = name.substring(lastDot + 1).toLowerCase();
+ final String extension = name.substring(lastDot + 1).toLowerCase(Locale.ROOT);
final String mime = MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension);
if (mime != null) return mime;
}
@@ -265,7 +266,7 @@ public class IDEDocumentsProvider extends DocumentsProvider {
if (file.isDirectory()) {
Collections.addAll(pending, file.listFiles());
} else {
- if (file.getName().toLowerCase().contains(query)) {
+ if (file.getName().toLowerCase(Locale.ROOT).contains(query)) {
includeFile(result, null, file);
}
}
diff --git a/app/src/main/java/com/itsaky/androidide/utils/ProjectWriter.java b/app/src/main/java/com/itsaky/androidide/utils/ProjectWriter.java
index 9db62320a..e852adfec 100755
--- a/app/src/main/java/com/itsaky/androidide/utils/ProjectWriter.java
+++ b/app/src/main/java/com/itsaky/androidide/utils/ProjectWriter.java
@@ -26,7 +26,6 @@ import com.blankj.utilcode.util.FileIOUtils;
import com.blankj.utilcode.util.FileUtils;
import com.blankj.utilcode.util.ResourceUtils;
import com.blankj.utilcode.util.ThreadUtils;
-import com.blankj.utilcode.util.ZipUtils;
import com.itsaky.androidide.R;
import com.itsaky.androidide.app.StudioApp;
import com.itsaky.androidide.interfaces.ProjectWriterCallback;
@@ -39,6 +38,7 @@ import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
+import java.util.Locale;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.zip.ZipEntry;
@@ -172,8 +172,9 @@ public class ProjectWriter {
try {
ZipEntry ze = null;
while ((ze = zin.getNextEntry()) != null) {
- if (ze.getName().startsWith(details.language.toLowerCase()) && !ze.isDirectory()) {
- String name = ze.getName().replaceFirst(details.language.toLowerCase(), "");
+ final var prefix = details.language.toLowerCase(Locale.ROOT);
+ if (ze.getName().startsWith(prefix) && !ze.isDirectory()) {
+ String name = ze.getName().replaceFirst(prefix, "");
if (name.contains(PACKAGE_NAME)) {
name = name.replace(PACKAGE_NAME, details.packageName.replace(".", "/"));
}
diff --git a/app/src/main/java/com/itsaky/androidide/views/editor/EditorActionsMenu.kt b/app/src/main/java/com/itsaky/androidide/views/editor/EditorActionsMenu.kt
index 6ddfe99a5..643201b3b 100644
--- a/app/src/main/java/com/itsaky/androidide/views/editor/EditorActionsMenu.kt
+++ b/app/src/main/java/com/itsaky/androidide/views/editor/EditorActionsMenu.kt
@@ -309,11 +309,12 @@ open class EditorActionsMenu(val editor: IDEEditor) :
super.show()
}
+ @SuppressLint("InflateParams")
private fun findWidestItem(): Int {
var widest = 0
val text =
- LayoutInflater.from(editor.context).inflate(R.layout.layout_popup_menu_item, null) as
- MaterialTextView
+ LayoutInflater.from(editor.context).inflate(R.layout.layout_popup_menu_item, null)
+ as MaterialTextView
val dp30 = SizeUtils.dp2px(30f)
val paddingHorizontal = text.paddingStart + text.paddingEnd
val drawablePadding = text.compoundDrawablePadding
@@ -346,8 +347,7 @@ open class EditorActionsMenu(val editor: IDEEditor) :
val view: MaterialTextView =
if (convertView == null || convertView !is MaterialButton) {
(context.getSystemService(Context.LAYOUT_INFLATER_SERVICE) as LayoutInflater)
- .inflate(R.layout.layout_popup_menu_item, parent, false) as
- MaterialTextView
+ .inflate(R.layout.layout_popup_menu_item, parent, false) as MaterialTextView
} else {
convertView as MaterialTextView
}
diff --git a/app/src/main/res/drawable/bg_log_search_field.xml b/app/src/main/res/drawable/bg_log_search_field.xml
deleted file mode 100644
index 5164b8dc1..000000000
--- a/app/src/main/res/drawable/bg_log_search_field.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_chevron_left.xml b/app/src/main/res/drawable/ic_chevron_left.xml
deleted file mode 100755
index e2bac3191..000000000
--- a/app/src/main/res/drawable/ic_chevron_left.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
diff --git a/app/src/main/res/drawable/ic_comment_line.xml b/app/src/main/res/drawable/ic_comment_line.xml
deleted file mode 100755
index d2b207bd8..000000000
--- a/app/src/main/res/drawable/ic_comment_line.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_copy.xml b/app/src/main/res/drawable/ic_copy.xml
deleted file mode 100644
index d977c6809..000000000
--- a/app/src/main/res/drawable/ic_copy.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
-
-
-
diff --git a/app/src/main/res/drawable/ic_find_references.xml b/app/src/main/res/drawable/ic_find_references.xml
deleted file mode 100755
index dccbadf6b..000000000
--- a/app/src/main/res/drawable/ic_find_references.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
diff --git a/app/src/main/res/drawable/ic_goto_definition.xml b/app/src/main/res/drawable/ic_goto_definition.xml
deleted file mode 100755
index 48a9a60b0..000000000
--- a/app/src/main/res/drawable/ic_goto_definition.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
diff --git a/app/src/main/res/drawable/ic_install.xml b/app/src/main/res/drawable/ic_install.xml
deleted file mode 100755
index dff50ed0b..000000000
--- a/app/src/main/res/drawable/ic_install.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
diff --git a/app/src/main/res/drawable/ic_quickfix.xml b/app/src/main/res/drawable/ic_quickfix.xml
deleted file mode 100644
index 2aec73471..000000000
--- a/app/src/main/res/drawable/ic_quickfix.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_text_actions.xml b/app/src/main/res/drawable/ic_text_actions.xml
deleted file mode 100644
index 1de5f6515..000000000
--- a/app/src/main/res/drawable/ic_text_actions.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_text_actions_horizontal.xml b/app/src/main/res/drawable/ic_text_actions_horizontal.xml
deleted file mode 100644
index 4b66cb835..000000000
--- a/app/src/main/res/drawable/ic_text_actions_horizontal.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_uncomment_line.xml b/app/src/main/res/drawable/ic_uncomment_line.xml
deleted file mode 100755
index 4da85cdf7..000000000
--- a/app/src/main/res/drawable/ic_uncomment_line.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_widget_linear.xml b/app/src/main/res/drawable/ic_widget_linear.xml
index acda24ede..563ecabab 100644
--- a/app/src/main/res/drawable/ic_widget_linear.xml
+++ b/app/src/main/res/drawable/ic_widget_linear.xml
@@ -15,8 +15,8 @@
~ along with AndroidIDE. If not, see .
-->
+ android:animateLayoutChanges="true"
+ tools:ignore="DuplicateIncludedIds">
+ android:layout_height="match_parent"
+ app:layout_behavior="com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior">
+ app:layout_constraintVertical_bias="0.25" />
+ android:textStyle="bold"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@id/main_image" />
+ android:textColor="@color/primaryTextColorLight"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@id/getStarted" />
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_wizard.xml b/app/src/main/res/layout/fragment_wizard.xml
index 27094eba5..cec88bab6 100644
--- a/app/src/main/res/layout/fragment_wizard.xml
+++ b/app/src/main/res/layout/fragment_wizard.xml
@@ -1,37 +1,37 @@
+ tools:ignore="Overdraw">
+ android:fillViewport="true">
+ android:paddingTop="16dp"
+ android:paddingBottom="16dp">
diff --git a/app/src/main/res/layout/layout_attr_editor_sheet.xml b/app/src/main/res/layout/layout_attr_editor_sheet.xml
index 52c5ab389..6eedd1f86 100644
--- a/app/src/main/res/layout/layout_attr_editor_sheet.xml
+++ b/app/src/main/res/layout/layout_attr_editor_sheet.xml
@@ -19,7 +19,8 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:background="@color/content_background">
+ android:background="@color/content_background"
+ tools:ignore="Overdraw">
+ android:background="@color/content_background"
+ tools:ignore="Overdraw">
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/layout/layout_editor_actions.xml b/app/src/main/res/layout/layout_editor_actions.xml
deleted file mode 100644
index b5fc84d96..000000000
--- a/app/src/main/res/layout/layout_editor_actions.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/layout/layout_projects.xml b/app/src/main/res/layout/layout_projects.xml
deleted file mode 100755
index 586b4c8e2..000000000
--- a/app/src/main/res/layout/layout_projects.xml
+++ /dev/null
@@ -1,48 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/app/src/main/res/layout/layout_projects_item.xml b/app/src/main/res/layout/layout_projects_item.xml
deleted file mode 100755
index 1877ec7f6..000000000
--- a/app/src/main/res/layout/layout_projects_item.xml
+++ /dev/null
@@ -1,147 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/app/src/main/res/layout/layout_text_action_item.xml b/app/src/main/res/layout/layout_text_action_item.xml
deleted file mode 100644
index 7d8d11461..000000000
--- a/app/src/main/res/layout/layout_text_action_item.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
\ No newline at end of file
diff --git a/app/src/main/res/layout/layout_text_attr_editor.xml b/app/src/main/res/layout/layout_text_attr_editor.xml
deleted file mode 100644
index 3d1935fc5..000000000
--- a/app/src/main/res/layout/layout_text_attr_editor.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/menu/menu_editor.xml b/app/src/main/res/menu/menu_editor.xml
deleted file mode 100755
index 9c5f9edee..000000000
--- a/app/src/main/res/menu/menu_editor.xml
+++ /dev/null
@@ -1,170 +0,0 @@
-
-
diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/app/src/main/res/mipmap-anydpi/ic_launcher.xml
similarity index 100%
rename from app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
rename to app/src/main/res/mipmap-anydpi/ic_launcher.xml
diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/app/src/main/res/mipmap-anydpi/ic_launcher_round.xml
similarity index 100%
rename from app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
rename to app/src/main/res/mipmap-anydpi/ic_launcher_round.xml
diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml
index 8390ba842..4de53cefb 100644
--- a/app/src/main/res/values-de/strings.xml
+++ b/app/src/main/res/values-de/strings.xml
@@ -28,7 +28,6 @@
IDE LogsSplash-BildLoslegen
- Nichts hier …Schnellkorrektur kann nicht durchgeführt werdenKorrekturen durchführen…
@@ -40,29 +39,12 @@
Definition finden…Definition nicht gefundenKeine Referenzen gefunden
- Gehen Sie zur Definition
- Finden Sie alle Referenzen
- Code
- Kommentarzeile
- Zeile auskommentierenDiagnoseInstallation fehlgeschlagen
- Der Installationsvorgang wurde mit dem Beendigungscode %1$d beendet. Stellen Sie sicher, dass Sie die Build-Tools aus Originalquellen heruntergeladen haben.\n\nSie könnten versuchen, Daten von AndroidIDE zu löschen und erneut zu installieren.\n\n%2$s
- AuswählenMach dich bereit für etwas Großartiges!
- AndroidIDE-Build-Tools
- Installieren Sie die von AndroidIDE benötigten Build-Tools
- Wählen Sie das Verzeichnis, das Build-Tools enthält.
- Klicken Sie auf die Schaltfläche \'Installieren\', um den Installationsvorgang zu starten.Ausgewählte Datei ist kein Verzeichnis!Bitte wählen Sie nur ein Verzeichnis aus
- Datei existiert nicht!
- Bitte Dateien auswählen!
- 1. Laden Sie die Build-Tools von der AndroidIDE-Website herunter.\n2. Verschieben Sie alle Archive in ein Verzeichnis.\n3. Wählen Sie dieses Verzeichnis mit der Schaltfläche unten aus.\n4. Klicken Sie auf Installieren.\n5. Der Installationsvorgang beginnt.\n\nDer Installationsvorgang dauert je nach Leistung Ihres Geräts etwa 5 bis 10 Minuten. Bitte haben Sie Geduld!
- Zu installierende Dateien\n\n%s
- Bitte neustarten
- Die Installation ist erfolgreich abgeschlossen. Bitte starten Sie AndroidIDE neu.Bitte warten Sie einen Moment …Gerät nicht unterstütztLeider wird Ihr Gerät derzeit nicht unterstützt. Wir entschuldigen uns für die Unannehmlichkeiten.\n\nUnterstützte CPU-ABIs: aarch64 und armeabi-v7a
@@ -79,29 +61,19 @@
SäubernAAB erstellenBuild Aufgaben
- Stoppen sie Gradle-DämonenSchnelldurchlaufDie Gradle-Dateien haben sich verändert. Bitte starte den Build Prozess um diese zu Synchronisieren.
- ========== [%s] TASK_BEGIN: %s ==========VorbereitenVorbereiten. Der erste Build kann bis zu 10 bis 15 Minuten dauern!
- Der Gradle-Prozess wurde mit dem Exit-Code %1$d beendet
- Gradle Wrapper konnte nicht installiert werden: %sGradle Wrapper ist nicht verfügbar!\nStandard-Wrapper wird installiert. Gradle v7.4 wird bei Bedarf heruntergeladen.Abrufen des Daemon-Status, bitte warten…
- Gradle-Dämonen gestopptGradle-Daemon-Status
- Dienst gestartet
- Dienste starten
- Gradle Daemon wird gestartetAPK(s) installierenAusgabe säubern
- InstallierenRunGradleErster BuildDies ist der erste Build, nachdem Sie AndroidIDE installiert haben. Der erste Build dauert normalerweise einige Zeit, da Gradle benötigte Dateien herunterlädt. Dieser Vorgang kann etwa 10 bis 15 Minuten dauern. Dies hängt jedoch von Ihrer Netzwerkverbindung ab.\n\nBitte haben Sie etwas Geduld …
- KompilierenProjekt erstellenMindest SDK
@@ -109,21 +81,14 @@
Neues ProjektPaketnamenApp Name
- Ungültige Werte
- Anscheinend haben Sie noch keine Projekte erstellt.Starten Sie Ihr neues großartiges Projekt!Letztes Projekt öffnen?Soll das zuletzt geöffnete Projekt geöffnet werden? Geöffnetes Projekt war:\n%s
- Fehler beim Initialisieren des Projekts!ProjektDieses Projekt schließenZuletzt geöffnetes Projekt existiert nicht!Neues Projekt erstellenVorhandenes Projekt öffnen
- Projekt öffnen…
- Das ausgewählte Verzeichnis ist kein Android-Projekt
- Projekt gelöscht
- Projekt konnte nicht gelöscht werden!Projekt schließenMöchten Sie dieses Projekt wirklich schließen? Alle gestarteten Gradle-Daemons werden gestoppt, nachdem dieses Projekt geschlossen wurde.Ein gleichnamiges Projekt existiert bereits!
@@ -231,15 +196,11 @@
Tab-GrößeGeben Sie die Anzahl der Leerzeichen für TAB anEinstellungen
- Änderungsprotokoll konnte nicht gelesen werden!ÄnderungsprotokollBitte wählen Sie die Standardschriftgröße des Editors aus:Dadurch wird das von Gradle erstellte Cache-Verzeichnis gelöscht. Wenn Sie es löschen, kann der nächste Build etwas länger als normal dauern, da Gradle die erforderlichen Dateien erneut herunterlädt.\nWICHTIG: Dadurch wird auch AAPT2 gelöscht. Sie müssen es neu installieren, andernfalls kommt es zu einem Build-Fehler.\n\nSind Sie sicher, dass Sie Caches löschen möchten?
- InstallationsfehlerSDK Info kann nicht initialisiert werden
- Datei Picker kann nicht gestartet werden
- APK-Metadaten konnten nicht geparst werdenVorschau des Layouts nicht möglichLayout kann nicht angezeigt werden
@@ -261,10 +222,6 @@
LayoutsLinearLayoutRelativeLayout
- Neuer Wert
- wrap_content
- match_parent
- Anderer WertAnwendbare AttributeAktionenLöschen
@@ -275,10 +232,6 @@
Die View kann nicht gelöscht werden.Es wurden keine View hinzugefügt. Zum Hinzufügen klicken.Für dieses Attribut ist kein Attributformat verfügbar.
- Ungültiger Wert
- Neue string value
- Wählen Sie einen neuen Wert aus
- Bitte kreuzen Sie mindestens eine Flag an.XML-Code konnte nicht generiert werdenGenerieren von XML-CodeCode generierung fehlgeschlagen
@@ -305,14 +258,10 @@
Auswahl erweiternVervollständigungen in Kleinbuchstaben nutzenKompilierer Modul wird installiert, bitte warten…
- Kotlin Projekt mit einer AppCompat Toolbar und einen FloatingActionButton
- Kotlin Basis ProjektJaNeinAttribut hinzufügenAttribute suchen…
- Attribut wurde erfolgreich hinzugefügt
- Fehler beim aktualisieren des AttributsDateipfadFarbwertFarbauswahl
@@ -324,4 +273,4 @@
Dimension resourceBoolean resourceFehler beim installieren der App
-
+
\ No newline at end of file
diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml
index 4b240781c..674096415 100644
--- a/app/src/main/res/values-fr/strings.xml
+++ b/app/src/main/res/values-fr/strings.xml
@@ -29,7 +29,6 @@
IDE LogsSplash imageCommencer
- Rien ici …
@@ -42,32 +41,15 @@
Cherche des références …Définition introuvablePas de références trouvés
- Aller à la définition
- Trouver toutes les références
- Code
- Commenter la ligne
- Décommenter la ligneDiagnostiquesErreur lors de l\'installation
- Processus d\'installation terminé avec code de sortie %1$d. Soyez sûres que vous avez téléchargez Build Tools depuis une source officielle.\n\nVous devrez nettoyer le cache de AndroidIDE et l\'installer à nouveau.
- ChoisirPréparez vous à quelque chose de génial !
- AndroidIDE Build Tools
- Installer Build Tools requis par AndroidIDE
- Choisissez le dossier qui contient Build Tools.
- Cliquez sur \'Installer\' pour lancez le procéssus d\'installation.Le ficher choisis n\'est pas un dossier !Veuillez choisir un seul dossier
- Le fichier n\'existe pas !
- Veuillez choisir des fichiers
- 1. Télécharger Build Tools depuis le site web de AndroidIDE\'s.\n2. Rassemblez les fichiers téléchargés dans un unique dossier.\n3. Choisissez le dossier ci-dessous.\n4. Cliquez sur installer.\n5. Le procéssus commençera.\n\nLe procéssus d\'installation peut prendre de 5–10 minutes selon les performances de l\'appareil. Soyez patient !
- Fichiers qui doit êtres installés\n\n%s
- Veuillez redémarrer l\'application
- L\'installation s\'est correctement terminée, veuillez redémarrer AndroidIDE.Veuillez patientez un moment…Appareil non compatibleMalheureusement, votre appareil n\'est pas supporté pour le moment, nous sommes désolés pour le problème occasionné.\n\nCPU ABIs supportés: aarch64 et armeabi-v7a
@@ -87,29 +69,19 @@
Créer un AABTâches de compilation
- Arrêter les Deamons Gradle Compilation rapideLe fichier Gradle a été modifié. Recompilez le projet pour synchroniser les dépendances et les configurations.
- ========== [%s] TASK_BEGIN: %s ==========PréparationPréparation en cours, la première compilation peut prendre de 10–15 minutes !
- Résultat de la compilation : %1$d
- Impossible d\'installer Gradle Wrapper: %sGradle Wrapper n\'est pas disponible\nInstallation de celui par défaut. Gradle v7.4 sera téléchargé si nécessaire.Récupération du status du Daemon, veuillez patienter…
- Gradle Daemons arrêtéStatut du Daemon Gradle
- Lancement de la compilation
- Lancement des services
- Lancement d\'un daemonInstaller l\'APKNettoyer la console
- InstallerCompilerGradlePremière compilationC\'est la première compilation que vous effectuez après l\'installation de AndroidIDE. La première compilation met un peu plus de temps car il télécharge les dépendances et les plugins. Ce processus prendra environ 10–15 minutes, cela dépends également de votre connexion internet.\n\Soyez patient…
- Compilation
@@ -119,21 +91,14 @@
Nouveau projectnom du packageNom de l\'application
- Champs Invalides
- Mmmmm…Il semblerait que vous n\'ayez créé aucun projet.Libérez vos talents de développeur ! Créer un projet et commencez à créer votre propre applicationOuvrir le dernier projet ouvert ?Voulez-vous ouvrir le dernier projet ouvert ?\ndernier projet ouvert :\n%s
- Impossible d\'initialiser le projet !ProjetFermer le projetLe dernier projet ouvert n\'exist pas !Créer un nouveau projetOuvrir un projet existant
- Ouverture du projet…
- Le dossier sélectionné n\'est pas un projet Android.
- Projet supprimé
- Impossible de supprimer le projetFermer le projetÊtes vous sûres ? Tous les daemons seront arrêtés après la fermeture du projet.Un projet avec ce nom exist déjà !
@@ -147,8 +112,6 @@
Un projet avec AppCompat, une Toolbar, le DrawerLayout et le NavigationViewProjet videProjet navigation drawer
- Projet Kotlin basique
- Projet Kotlin avec Appcompat, une Toolbar et un Floating Action ButtonJeu LibGDXProjet Jeu LibGDX, affiche une image comme example.
@@ -216,7 +179,7 @@
ActivityInterfaceEnum
- Vérification des permissions nécessaires...
+ Vérification des permissions nécessaires…Échec lors de la liste des projetsimpossible de continuer sans les permissions du stockagePermissions du stockage données
@@ -225,17 +188,9 @@
défairerefaire
- CollerCopier
- Tout sélectionner
- Couper
- DernierSuivant
- Remplacer
- Tout remplacer
- ReplacementTexte à chercher
- Plus
@@ -263,16 +218,12 @@
Taille de l\'ongletSpécifier la taille de l\'ongletParamètres
- Échec lors de la récupération du ChangelogChangelogVeuillez choisir la taille des caractères par défaut de l\'éditeur :Cela supprimera le cache des dossiers de Gradle. Si vous le supprimer, la prochaine compilation pourra prendre un peu plus de temps que la normale, Gradle téléchargera à nouveau les fichiers requis.\nIMPORTANT: cela supprimera également AAPT2. vous devrez donc le réinstaller, ou sinon vous obtiendrez une erreur de compilation.\n\Êtes vous sûres de vouloir supprimer le cache ?
- Erreur d\'installationÉchec de l\'initialisation des informations du SDK
- Échec lors du lancement du sélectionneur de fichiers
- Échec lors de la lecture du metadata de l\'APKImpossible d\'afficher l\'aperçu du layoutImpossible de lancer le layout
@@ -296,10 +247,6 @@
LayoutsLinearLayoutRelativeLayout
- Nouvelle valeur
- wrap_content
- match_parent
- Autre valeurApplicable attributesActionsSupprimer
@@ -310,10 +257,6 @@
Impossible de supprimer la vue.Aucune vue n\'a été ajouté. Cliquer pour l\'ajouter.Pas de format d\'attribut est disponible pour cette attribut.
- Valeur invalide
- Nouvelle valeur string
- Choissisez une nouvelle valeur
- Merci de cocher au moins un flag.Impossible de générer le code XMLGénération du code XMLImpossible de générer le code
@@ -338,15 +281,9 @@
TraductionsOuiNon
- Menu d\'action
- Utiliser le menu d\'action pour afficher les actions sur le texte (redémarrage requis).
- Menu d\'action horizontal
- Faire afficher le Menu d\'action horizontalement (redémarrage requis).impossible de démarrer l\'intent pour installer l\'APKAjouter un attributRecherche d\'attribut…
- Attribut ajouté avec succès
- Impossible de mettre à jour l\'attributValeur dimensionRessources dimensionBoolean resource
@@ -369,5 +306,4 @@
Utiliser le style de formatage Java de Google.Suggestions de mot de passeÀ utiliser pour l\'indicateur de type d\'entrée de mot de passe visible dans l\'éditeur. Cela garantit qu\'aucune suggestion n\'est proposée par le clavier.
-
\ No newline at end of file
diff --git a/app/src/main/res/values-hi/strings.xml b/app/src/main/res/values-hi/strings.xml
index 2672993be..e21462c87 100644
--- a/app/src/main/res/values-hi/strings.xml
+++ b/app/src/main/res/values-hi/strings.xml
@@ -28,7 +28,6 @@
IDE लॉग्सस्प्लेश इमेजशुरु करे
- यहाँ कुछ भी नहीं …कोड क्रिया करने में असमर्थ
@@ -40,30 +39,13 @@
परिभासा ढूंढी जा रही है…परिभाषा नहीं मिलीाकोई सन्दर्भ नहीं मिला
- परिभाषा पर जाएं
- संदर्भ खोजें
- कोड
- कमेंट लाइन
- अनकमेंट लाइनडायग्नोस्टिक्सइनस्टॉल करने में विफल रहा
- इंस्टॉलेशन प्रोसेस समाप्त हो गया है एग्जिट कोड %1$d के साथ ।सुनिश्चित करें कि आपने बिल्ड टूल्स को मूल स्रोतों से डाउनलोड किया है।\n\nआप AndroidIDE के डेटा को साफ़ करने और फिर से इंस्टॉल करने का प्रयास कर सकते हैं।
- चुनेकुछ कमाल के लिए तैयार हो जाओ!
- AndroidIDE बिल्ड टूल्स
- AndroidIDE के लिए आवश्यक बिल्ड टूल्स इंस्टॉल करें
- वह डायरेक्टरी चुनें जिसमें बिल्ड टूल्स हों।
- इंस्टॉलेशन प्रक्रिया शुरू करने के लिए \'इंस्टॉल\' बटन पर क्लिक करें।चुनी गई फ़ाइल एक डायरेक्टरी नहीं है!कृपया केवल एक डायरेक्टरी चुनें
- फ़ाइल मौजूद नहीं है!
- कृपया फ़ाइलें चुनें!
- 1. AndroidIDE की वेबसाइट से बिल्ड टूल्स डाउनलोड करें।\n2. सभी आर्काइवो को एक डायरेक्टरी में ले जाएँ।\n3. नीचे दिए गए बटन का उपयोग करके उस डायरेक्टरी को चुनें।\n4. इंस्टॉल पर क्लिक करें.\n5. इंस्टॉलेशन प्रक्रिया शुरू हो जाएगी।\n\nआपके डिवाइस के प्रदर्शन के आधार पर इंस्टॉलेशन प्रक्रिया में लगभग 5–10 मिनट लगेंगे। कृपया धैर्य रखें!
- इंस्टॉल की जाने वाली फ़ाइलें\n\n%s
- कृपया पुनः प्रारंभ करें
- इंस्टॉलेशन सफलतापूर्वक समाप्त हो गई है। कृपया AndroidIDE को पुनरारंभ करें।कृपया कुछ क्षण प्रतीक्षा करें …डिवाइस सपोर्ट नहीं करतादुर्भाग्य से, आपका डिवाइस इस समय समर्थित नहीं है। असुविधा के लिए हमें खेद है.\n\nसमर्थित CPU ABIs: aarch64 और armeabi-v7a
@@ -81,29 +63,19 @@
क्लीनएएबी बनाएंबिल्ड टास्क्स
- ग्रैडल डेमंस बंद करेक्विक रनग्रैडल फाइलें बदल गई हैं। डिपेंडेंसी और कॉन्फ़िगरेशन्स को सिंक करने के लिए कृपया अपनी प्रोजेक्ट का पुनर्निर्माण करें।
- ========== [%s] टास्क सुरु हो रहा है: %s ==========तैयार कर रहे हैंतैयार कर रहे हैं। पहले निर्माण में 10–15 मिनट तक लग सकते हैं!
- ग्रैडल प्रक्रिया एग्जिट कोड %1$d के साथ बाहर निकली
- ग्रैडल रैपर इंस्टॉल करने में विफल: %sग्रैडल रैपर उपलब्ध नहीं है!\nडिफ़ॉल्ट इंस्टाल किया जा रहा है। यदि आवश्यक हो तो ग्रैडल v7.4 डाउनलोड किया जाएगा।डेमॉन की स्थिति, कृपया प्रतीक्षा करें…
- ग्रैडल डेमन्स रुक गएग्रैडल डेमॉन की स्थिति
- सेवा शुरू
- सेवाएं शुरू करना
- एक गरडले डेमॉन शुरू कर रहे हैएपीके इंस्टॉल करेंक्लियर आउटपुट
- इंस्टॉलरनग्रेडलफर्स्ट बिल्डAndroidIDE इंस्टॉल करने के बाद यह पहली बार बिल्ड है। पहले निर्माण में आमतौर पर समय लगता है क्योंकि ग्रैडल सभी डिपेंडेंसीज और प्लगइन्स को डाउनलोड करता है। इस प्रक्रिया में लगभग 10–15 मिनट का समय लग सकता है। लेकिन यह पूरी तरह से आपके नेटवर्क कनेक्शन पर निर्भर करता है।\n\nकृपया धैर्य रखें …
- कम्पााइलिंगप्रोजेक्ट बनाएं
@@ -112,21 +84,14 @@
नया प्रोजेक्टपैकेज का नामऐप का नाम
- अमान्य वैल्यूज
- ऐसा लगता है कि आपने अभी तक कोई प्रोजेक्ट नहीं बनाया है।अपनी नई विस्मयकारी प्रोजेक्ट शुरू करें!अंतिम प्रोजेक्ट खोलें?क्या आप चाहते हैं कि मैं आखिरी बार खोला गया प्रोजेक्ट खोलूं? खोली गई प्रोजेक्ट थी:\n%s
- प्रोजेक्ट प्रारंभ करने में विफल!प्रोजेक्टइस प्रोजेक्ट को बंद करेंअंतिम बार खोला गया प्रोजेक्ट मौजूद नहीं है!नया प्रोजेक्ट बनाएंमौजूदा प्रोजेक्ट खोलें
- प्रोजेक्ट खुल रहा है…
- चुनी गई डायरेक्टरी एक एंड्रॉयड प्रोजेक्ट नहीं है
- प्रोजेक्ट डिलीट करने में सफल
- प्रोजेक्ट मिटाया नहीं जा सका!प्रोजेक्ट बंद करेंक्या आप वाकई इस प्रोजेक्ट को बंद करना चाहते हैं? इस प्रोजेक्ट के बंद होने के बाद सभी शुरू किए गए ग्रैडल डेमॉन को रोक दिया जाएगा।इसी नाम का एक प्रोजेक्ट पहले से मौजूद है!
@@ -212,7 +177,7 @@
रीडूकॉपीखोजने के लिए शब्द
-
+
एडिटर के फॉण्ट का आकारAndroidIDE के बारे में
@@ -238,20 +203,16 @@
टेब साइजटेब के लिए स्पेसेस की संख्या निर्दिष्ट करेंप्रेफरेंसेस
- चैंजलॉग पढ़ने में विफल!चैंजलॉगकृपया एडिटर का डिफ़ॉल्ट फ़ॉन्ट साइज चुनें :यह ग्रैडल द्वारा बनाई गई कैश डायरेक्टरी को हटा देगा। यदि आप इसे हटाते हैं, तो अगली बिल्ड में सामान्य से थोड़ा अधिक समय लग सकता है क्योंकि ग्रैडल आवश्यक फ़ाइलों को फिर से डाउनलोड करेगा।\nमहत्वपूर्ण: यह AAPT2 को भी हटा देगा। आपको इसे पुनः इंस्टॉल करने की आवश्यकता होगी अन्यथा अगला निर्माण विफल होने की संभावना है।।\n\nक्या आप सुनिश्चित हैं कि आप कैश हटाना चाहते हैं?
- इंस्टॉलेशन एररSDK जानकारी प्रारंभ करने में असमर्थ
- फ़ाइल पिकर प्रारंभ करने में असमर्थ
- एपीके मेटाडेटा को पार्स करने में विफललेआउट का प्रिव्यू करने में असमर्थलेआउट को इंफ्लेट करने में असमर्थ
-
+
लेआउट का प्रिव्यू करने में असमर्थ!प्रिव्यू लेयाउट
@@ -271,10 +232,6 @@
लेयाउट्सलीनियर लेयाउटरिलेटिव लेयाउट
- नया वैल्यू
- रेप कॉन्टेंट
- मैच पैरेंट
- अन्य वैल्यूलागू अट्रीब्यूट्सएक्शन्सडिलीट
@@ -285,10 +242,6 @@
व्यू को डिलीट करने में असमर्थ।कोई व्यू नहीं जोड़ा गया है। जोड़ने के लिए क्लिक करें।इस अट्रीब्यूट के लिए कोई अट्रीब्यूट फॉर्मेट उपलब्ध नहीं हैं।
- अमान्य वैल्यू
- नया स्ट्रिंग वैल्यू
- नया वैल्यू चयन करें
- कृपया कम से कम एक फ्लैग जांचें।XML कोड जनरेट करने में विफल XML कोड उत्पन्न किया जा रहा हैकोड जनरेशन विफल
@@ -302,8 +255,6 @@
बूटस्ट्रैप आर्काइव रीड कर रहे…बूटस्ट्रैप इंस्टॉलेशन निम्न एक्सेप्शन के साथ विफल रही।अनुवाद
- बेसिक कोटलिन प्रोजेक्ट
- टूलबार और फैब के साथ एक कोटलिन प्रोजेक्टकम्पाइलर मॉडल इनस्टॉल हो रहा हैकम्पाइलर मॉडल इनस्टॉल हो रहा है। कृपया प्रतीक्षा करेनिम्नलिखित एरर के साथ कम्पाइलर मॉडल इनस्टॉल करने करने में असफल : %s
@@ -321,18 +272,12 @@
एक उदाहरण के रूप में एक छवि प्रस्तुत करने के लिए स्थापित LibGDX गेम प्रोजेक्ट।संयुक्ताक्षर बनानाफ़ॉन्ट संयुक्ताक्षर को सक्षम/अक्षम करें
-
+
हांनहीं
- फ़्लोटिंग टेक्स्ट क्रियाएं
- टेक्स्ट क्रियाओं को दिखाने के लिए पॉपअपविंडो का प्रयोग करें (यदि बदला गया है तो पुनः आरंभ करना आवश्यक है).
- क्षैतिज टेक्स्ट क्रियाएं
- फ़्लोटिंग टेक्स्ट क्रियाओं को क्षैतिज रूप से प्रदर्शित करें (यदि बदला गया है तो पुनः आरंभ करना आवश्यक है).एपीके स्थापित करने का इन्टेन्ट शुरू करने में असमर्थअट्रीब्यूट जोड़ेंअट्रीब्यूटस खोजे…
- अट्रीब्यूट सफलतापूर्वक जोड़ी गई
- इस अट्रीब्यूट को अपडेट करने में असमर्थडाइमेंशन वैल्यूडाइमेंशन रिसोर्सबुलियन रिसोर्स
@@ -348,15 +293,6 @@
जावा सोर्स कोड को फ़ॉर्मेट करने के लिए गुगल जावा स्टाइल कोड फ़ॉर्मेट कॉन्फ़िगरेशन का उपयोग करें।दृश्यमान पासवर्ड फ्लेगएडिटर में दृश्यमान पासवर्ड इनपुट टाइप फ्लेग के लिए उपयोग करें। यह सुनिश्चित करता है कि सॉफ्ट कीबोर्ड द्वारा कोई सुझाव प्रस्तावित नहीं किया गया है।
- कोई कोड एक्शंस नहीं मिलापहले का
- संवेदनशील अक्षर
- रेजेक्स
- बदला जा रहा है...
-
-
-
-
-
-
-
+ बदला जा रहा है…
+
\ No newline at end of file
diff --git a/app/src/main/res/values-in/strings.xml b/app/src/main/res/values-in/strings.xml
index 2313afc6a..52784f303 100644
--- a/app/src/main/res/values-in/strings.xml
+++ b/app/src/main/res/values-in/strings.xml
@@ -28,7 +28,6 @@
Log IDEGambar SplashMemulai
- Tidak ada apa-apa disini …Tidak dapat menampilkan perbaikan cepat (QuickFix)
@@ -41,30 +40,13 @@
Menemukan definisi…Definisi tidak ditemukanReferensi tidak ditemukan
- Menuju definisi
- Temukan semua referensi
- Kode
- Komentarkan baris
- Lepas komentar di barisDiagnosaInstalasi gagal
- Proses instalasi dihentikan dengan kode exit %1$d. Pastikan anda mengunduh alat build dari sumber aslinya.\n\nAnda dapat mencoba untuk menghapus data aplikasi AndroidIDE dan lakukan instalasi kembali.\n\n%2$s
- PilihBersiap untuk sesuatu yang menakjubkan !
- Alat Build AndroidIDE
- Instalasi alat build diperlukan oleh AndroidIDE
- pilih direktori mana yang terdapat alat build.
- Klik tombol \'Instal\' untuk memulai proses instalasi.Jalur yang dipilih bukanlah direktori!Mohon untuk hanya memilih satu direktori
- File tidak ada!
- Mohon untuk memilih file!
- 1. Unduh alat build dari website AndroidIDE.\n2. Pindahkan semua arsip ke satu direktori.\n3. Pilih direktori tersebut menggunakan tombol dibawah.\n4. Klik Instal.\n5. Proses instalasi akan dimulai.\n\nProses instalasi memakan waktu sekitar 5–10 menit bergantung pada performa perangkat anda. Mohon bersabar!
- File-file yang perlu di instal\n\n%s
- Mohon mulai ulang
- Instalasi telah selesai. Mohon mulai ulang AndroidIDE.Mohon tunggu sebentar …Perangkat tidak didukungSayang sekali, perangkat anda tidak didukung saat ini. Kami mohon maaf atas ketidaknyamanannya.\n\nCPU ABI yang didukung: aarch64 dan armeabi-v7a
@@ -82,29 +64,19 @@
CleanBuat AABBuild tasks
- Hentikan Gradle DaemonQuick runFile Gradle telah berubah. Mohon build ulang project anda untuk menyinkronkan dependensi dan konfigurasi.
- ========== [%s] MEMULAI_TUGAS_BUILD: %s ==========MenyiapkanMenyiapkan. Build pertama mungkin memakan waktu sekitar 10–15 menit!
- Proses Gradle berhenti dengan kode exit %1$d
- Gagal untuk menginstal Gradle Wrapper: %sGradle Wrapper tidak tersedia!\nMenginstal Gradle bawaan. Gradle v7.4 akan diunduh jika diperlukan.Mendapatkan status Daemon, mohon tunggu…
- Gradle Daemon DihentikanStatus Gradle Daemon
- Layanan Dimulai
- Memulai layanan
- Memulai Gradle daemonInstal AplikasiBersihkan hasil
- InstalJalankanGradleBuild PertamaIni adalah build pertama setelah anda memasang AndroidIDE. Build pertama biasanya memakan waktu selama Gradle mengunduh semua dependensi dan plugin. Proses ini diperkirakan sekitar 10–15 menit. Tetapi ini bergantung pada kecepatan koneksi internet anda.\n\nMohon bersabar …
- MengkompilasiBuat projek
@@ -113,21 +85,14 @@
Projek baruNama paketNama aplikasi
- Isi tidak valid
- Sepertinya anda belum membuat satupun projek.Mulailah membuat projek hebat anda!Buka projek yang terakhir dibuka?Apakah anda ingin membuka projek yang terakhir kali dibuka? Projek terakhir yang dibuka:\n%s
- Gagal menginisialisasi projek!ProjekTutup projek iniProjek yang terakhir dibuka tidak ada!Buat projek baruBuka projek
- Membuka projek…
- Direktori yang dipilih bukan projek Android
- Projek dihapus
- Gagal menghapus projek!Tutup projekanda yakin ingin menutup projek ini? Semua Gradle daemon yang berjalan akan diberhentikan setelah projek ini ditutup.Sudah terdapat projek dengan nama yang sama!
@@ -139,8 +104,6 @@
Projek dengan Toolbar AppCompat, DrawerLayout dan NavigationViewProjek KosongProjek NavigationDrawer
- Project Kotlin Dasar
- Project Kotlin dengan Toolbar Appcompat dan Floating Action ButtonGim LibGDXPersiapan projek gim LibGDX untuk menampilkan gambar as sebagai contoh.Jetpack Compose
@@ -245,17 +208,13 @@
Ukuran tabMenentukan jumlah spasi pada tabPreferensi
- Gagal untuk membaca log perubahan!Log PerubahanMohon pilih ukuran huruf bawaan dari editor :Ini akan menghapus direktori cache yang dibuat oleh Gradle. Jika anda menghapusnya, build selanjutnya mungkin akan memakan waktu lebih lama selama Gradle mengunduh file-file yang diperlukan lagi.\nPENTING: Aksi ini juga akan menghapus AAPT2. Anda akan harus menginstal ulang atau anda akan berakhir dengan gagal build.\n\nAnda yakin ingin menghapus cache?
- Instalasi errorTidak dapat menginisialisasi informasi SDK
- Tidak dapat memulai pemilihan file (File Picker)
- Gagal mengurai metadata APKTidak dapat melihat pratinjau layoutLayout tidak dapat di-inflate
@@ -278,9 +237,6 @@
LayoutsLinearLayoutRelativeLayout
- wrap_content
- match_parent
- Yang lainnyaAtribut yang berlakuTindakanHapus
@@ -291,11 +247,6 @@
Tidak dapat menghapus View.Tidak ada View yang ditambahkan. Klik untuk menambahkan.Tidak ada format atribut yang tersedia untuk atribut ini.
- Isi baru
- Isi tidak valid
- Isi baru string
- Pilih isi yang baru
- Mohon setidaknya pilih satu flag.Gagal untuk menghasilkan kode XMLHasilkan kode XMLGagal menghasilkan kode
@@ -327,15 +278,9 @@
YaTidak
- Teks aksi mengapung
- Gunakan PopupWindow untuk mengaktifkan teks aksi (butuh restart setelah diubah).
- Teks aksi horizontal
- Membuat teks aksi mengapung tampil horizontal (butuh restart setelah diubah).Tidak dapat memulai Intent untuk menginstal APKTambah atribut
- Cari atribut...
- Atribut berhasil ditambahkan
- Gagal memperbarui atribut ini
+ Cari atribut…Isi DimensionSumber DimensionSumber Boolean
diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml
index 043752174..02ba289c2 100644
--- a/app/src/main/res/values-pt-rBR/strings.xml
+++ b/app/src/main/res/values-pt-rBR/strings.xml
@@ -28,7 +28,6 @@
Registros da IDEImagem inicialComeçar
- Nada aqui…Não foi possível executar a correção rápida
@@ -40,30 +39,13 @@
Encontrando definição…Definição não encontradaNenhuma referência encontrada
- Ir para definição
- Encontrar todas as referências
- Código
- Comentário
- DescomentarDiagnósticosFalha na instalação
- O processo de instalação foi encerrado com o código de saída %1$d. Certifique-se de ter baixado as ferramentas de compilação das fontes originais.\n\nVocê pode tentar limpar os dados do AndroidIDE e instalar novamente. \n\n%2$s
- EscolherPrepare-se para algo incrível!
- Ferramentas de compilação do AndroidIDE
- Instale as ferramentas de compilação exigidas pelo AndroidIDE
- Escolha o diretório que contém as ferramentas de compilação.
- Clique no botão \'Instalar\' para iniciar o processo de instalação.O arquivo selecionado não é um diretório!Por favor, escolha apenas um diretório
- O arquivo não existe!
- Por favor, escolha os arquivos!
- 1. Baixe as ferramentas de compilação do site do AndroidIDE\.\n2. Mova todos os arquivos em um diretório.\n3. Escolha esse diretório usando o botão abaixo.\n4. Clique em Instalar.\n5. O processo de instalação começará.\n\nO processo de instalação levará cerca de 5 a 10 minutos, dependendo do desempenho do seu dispositivo. Por favor, seja paciente!
- Arquivos a serem instalados\n\n%s
- Por favor, reinicie
- A instalação foi concluída com sucesso. Reinicie o AndroidIDE.Aguarde um momento…Dispositivo não suportadoInfelizmente, seu dispositivo não é compatível no momento. Lamentamos o inconveniente.\n\nABIs de CPU compatíveis: aarch64 e armeabi-v7a
@@ -81,29 +63,19 @@
LimparCriar AABTipos de construções
- Parar daemons GradleExecução rápidaOs arquivos Gradle foram alterados. Por favor, reconstrua seu projeto para sincronizar dependências e configurações.
- ========== [%s] TASK_BEGIN: %s ==========PreparandoPreparando. A primeira compilação pode levar de 10 a 15 minutos!
- Processo Gradle encerrado com código de saída %1$d
- Falha ao instalar Gradle Wrapper: %sGradle Wrapper não está disponível!\nInstalando um padrão. Gradle v7.4 será baixado se necessário.Recebendo o status de Daemon, aguarde…
- Gradle Daemons ParadoStatus do daemon Gradle
- Serviço iniciado
- Iniciando serviços
- Iniciando um daemon GradleInstalar APK(s)Limpar registros
- InstalarExecutarGradlePrimeira compilaçãoEsta é a primeira vez que compila depois de instalar o AndroidIDE. A primeira compilação geralmente leva tempo, pois o Gradle baixa todas as dependências e plugins. Esse processo pode levar cerca de 10 a 15 minutos. Mas isto depende totalmente de sua velocidade de internet.\n\nSeja paciente…
- CompilandoCriar projeto
@@ -112,21 +84,14 @@
Novo projetoNome do pacoteNome do aplicativo
- Valores inválidos
- Parece que você ainda não criou nenhum projeto.Comece seu novo projeto incrível!Abrir último projeto?Você quer que eu abra o último projeto aberto? O projeto aberto foi:\n%s
- Falha ao inicializar o projeto!ProjetoFechar este projetoO último projeto aberto não existe!Criar novo projetoAbrir projeto existente
- Abrindo projeto…
- O diretório escolhido não é um projeto Android
- Projeto excluído
- Falha ao excluir projeto!Fechar projetoTem certeza de que deseja fechar este projeto? Todos os daemons do Gradle iniciados serão interrompidos após o fechamento deste projeto.Já existe um projeto com o mesmo nome!
@@ -138,8 +103,6 @@
Projeto com barra de ferramentas AppCompat, DrawerLayout e NavigationViewProjeto vazioProjeto navigation drawer
- Projeto básico Kotlin
- Projeto Kotlin com Appcompat Toolbar e um botão de ação flutuanteJogo LibGDXProjeto de jogo LibGDX configurado para renderizar uma imagem como exemplo.
@@ -242,7 +205,6 @@
Tamanho das tabEspecifique o número de espaços para as tabsPreferências
- Falha ao ler o registro de alterações!Registro de alteraçõesPor favor, escolha o tamanho da fonte padrão do editor:Isso excluirá o diretório de caches criado pelo Gradle. Se você excluí-lo, a próxima compilação pode demorar um pouco mais do que o normal, pois o Gradle fará o download dos arquivos necessários novamente.\nIMPORTANTE: Isso também excluirá o AAPT2. Você precisará reinstalá-lo, caso contrário, ocorrerá uma falha de compilação.\n\nTem certeza de que deseja excluir os caches?
@@ -252,10 +214,7 @@
Zoom de texto na posição do cursor ao selecionar texto no editor
- Erro de instalaçãoNão foi possível inicializar as informações do SDK
- Não foi possível iniciar o seletor de arquivos
- Falha ao analisar metadados do APKNão foi possível visualizar o layoutNão foi possível inflar o layout
@@ -278,9 +237,6 @@
LayoutsLinearLayoutRelativeLayout
- wrap_content
- match_parent
- Outro valorAtributos aplicáveisAçõesExcluir
@@ -291,11 +247,6 @@
Não foi possível excluir a visualização.Nenhuma visualização foi adicionada. Clique para adicionar.Nenhum formato de atributo está disponível para este atributo.
- Novo valor
- Valor inválido
- Novo texto da string
- Escolha um novo valor
- Por favor, marque pelo menos um sinalizador.Falha ao gerar código XMLGerando código XMLFalha na geração de código
@@ -327,15 +278,9 @@
SimNão
- Ações de texto flutuante
- Use PopupWindow para mostrar ações de texto (reinicialização necessária se alterada).
- Ações de texto horizontal
- Faça com que as ações de texto flutuante apareçam horizontalmente (reinicialização necessária se alterada).Não foi possível iniciar a intenção de instalação do APKAdicionar atributoPesquisar atributos…
- O atributo foi adicionado com sucesso
- Não foi possível atualizar este atributoValor da dimensãoResource dimensionResource boolean
@@ -351,9 +296,6 @@
Use a configuração de formatação de código Java Style do Google para formatar o código fonte Java.Dica de senhaQuando ativado, nenhuma dica de senha será mostrada pelo teclado.
- Nenhuma ação de código encontradaAnterior
- Maiúsculas e minúsculas
- Expressão regular
- Substituindo...
-
+ Substituindo…
+
\ No newline at end of file
diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml
index 2f71ed99f..15a401ff9 100644
--- a/app/src/main/res/values-ru/strings.xml
+++ b/app/src/main/res/values-ru/strings.xml
@@ -3,8 +3,6 @@
AndroidIDEAndroidIDE использует модифицированную версию JDK, которая лицензирована согласно GNU General Public License v2.0. Исходный код JDK и лицензия доступны здесь:
- Разработчики
- \u2022 Akash Yadav\n\u2022 Marvin StelterЛицензирование открытого кодаAndroidIDE использует открытые библиотеки. Вы можете найти исходный код и лицензии использованных библиотек, перейдя по ссылкам ниже.Лицензия:ᅠ
@@ -30,7 +28,6 @@
Лог IDESplash imageДавайте начнём!
- Тут ничего …Невозможно применить Быстрое Решение
@@ -43,30 +40,13 @@
Поиск дефиниций…Дефиниций не найденоРеференсов не найдено
- Перейти к дефиниции
- Найти все референсы
- Код
- Закомментировать строку
- Раскомментировать строкуДиагностикаУстановка не удалась
- Процесс установки прерван с кодом %1$d. Убедись, что вы скачали оригинальные инструменты сборки.\n\nВы можете попробовать очистить данные AndroidIDE и установить инструменты сборки снова. \n\n%2$s
- ВыбратьПриготовьтесь к чему-то замечательному!
- Инструменты Сборки AndroidIDE
- Установите Инструменты Сборки, необходимые для работы AndroidIDE
- Выберите директорию, содержащую инструменты сборки.
- Нажмите на кнопку \'установить\', чтобы начать процесс установки.Выбранный файл не является директорией!Пожалуйста, выберите лишь одну директорию
- Файл не существует!
- Пожалуйста, выберите файлы!
- 1. Скачайте инструменты сборки с сайта AndroidIDE.\n2. Переместите скачанные архивы в определённую директорию. \n3. Выберите эту директорию, используя кнопку ниже. \n4. Нажмите кнопку устаноки. \n5. Начнётся процесс установки.\n\nПроцесс установки займет около 5–10 минут в зависимости от производительности вашего устройства. Просим вашего терпения!
- Файлы для установки\n\n%s
- Пожалуйста, перезапустите приложение
- Установка успешно завершена. Пожалуйста, перезапустите AndroidIDE.Пожалуйста, подождите немного …Устройство не поддерживаетсяК сожалению, на данный момент ваше устройство не поддерживается. Приносим свои извинения.\n\nПоддерживаемые ABI: aarch64 и armeabi-v7a
@@ -84,30 +64,19 @@
Очистить проектСоздать AABСценарии сборки
- Остановить Daemon\'ы GradleБыстрая сборкаФайлы Gradle были изменены. Пожалуйста пересоберите проект, чтобы синхронизировать зависимости и конфигурации.
- ========== [%s] TASK_BEGIN: %s ==========ПодготовкаВыполняется подготовка. Первая сборка может занять 10–15 минут!
- Процесс Gradle завершился с кодом %1$d
- Ошибка установки Gradle Wrapper: %sGradle Wrapper недоступен!\nУстановка версии Gradle по умолчанию. Gradle v7.4 будет скачан, если это необходимо.Получение статуса Daemon, пожалуйста, подождите…
- Daemon\'ы Gradle остановленыСтатус Gradle Daemon
- Сервис запущен
- Запуск сервисов
- Не удалось запустить сервисы автодополнения
- Запуск Gradle DaemonУстановить APK файл(ы)Очистить выходные файлы
- УстановитьЗапуститьGradleПервая сборкаЭто первая сборка после установки AndroidIDE. Первая сборка обычно занимает больше времени, так как Gradle скачивает все зависимости и плагины. Этот процесс может занять 10–15 минут, но это полностью зависит от производительности вашего устройства.\n\nПожалуйста, подождите …
- КомпиляцияСоздать проект
@@ -116,29 +85,14 @@
Новый проектИмя пакетаИмя приложения
- Неподходящие значения
- Похоже, вы ещё не создали ни одного проекта.Начните свой новый замечательный проект!Открыть последний проект?Хотите открыть последний проект? Последний раз вы работали над:\n%s
- Не удалось инициализировать проект!ПроектЗакрыть этот проектПоследний открытый проект не существует!Создать проектОткрыть проект
- Открытие проекта…
- Выбранная директория не является проектом Android
- Проект удалён
- Не удалось удалить проект!
- Информация о проекте
- Информация о модуле
- Модули: %d
- Сценарии: %d
- Зависимости: %d
- Пакет: %s
- Минимальный SDK: %s
- Целевой SDK: %sЗакрыть проектУверены, что хотите закрыть этот проект? Все запущенные Daemon\'ы Gradle будут остановлены после закрытия этого проекта.Проект с таким именем уже существует!
@@ -150,8 +104,6 @@
Проект с AppCompat Toolbar, DrawerLayout и NavigationViewПустой проектПроект с Navigation Drawer
- Базовый проект Kotlin
- Проект на Kotlin с AppCompat Toolbar и Floating Action ButtonИгра LibGDXПроект игры LibGDX. Выводит изображение на экран в качестве примера.Jetpack Compose
@@ -159,7 +111,6 @@
Сохранить
- ФайлыНайтиНайти в файлеНайти в проекте
@@ -223,24 +174,15 @@
Перечисление (Enum)Проверка разрешений на взаимодействие с памятьюНе удалось получить список проектов!
- Не удалось сохранить файлы!Невозможно без разрешения на взаимодействие с памятьюРазрешение на взаимодействие получено!Отмена действияПовтор действия
- ВставитьКопировать
- Выбрать все
- Вырезать
- ПоследнееСледующее
- Заменить
- Заменить все
- ЗаменаИскать текст
- ЕщёРазмер шрифта редактора
@@ -249,8 +191,6 @@
Очистить директорию кэша Gradle. Это удалит все зависимости, скачанные Gradle. Необходимые файлы будут вновь скачаны при следующей сборке.Дополнительные команды GradleВыберите дополнительные команды, которые будут добавлены при выполнении каждого сценария
- Редактировать глобальные параметры Gradle
- Редактировать gradle.properties в GRADLE_HOMEРазмер шрифтаРазмер шрифта редактораВизуализировать непечатаемые символы
@@ -269,25 +209,14 @@
Размер TABУкажите, сколько пробелов будет напечатано при нажатии TAB.Настройки
- Не удалось получить список изменений!Список измененийПожалуйста, выберите размер шрифта по умолчанию для редактора:Это удалит директорию кэша, созданную Gradle. Если вы удалите её, следующая сборка может занять больше времени, чем обычно, так как Gradle будет скачивать необходимые файлы снова.\nВАЖНО: Это также удалит AAPT2. Вам нужно будет переустановить его, иначе вы получите ошибку сборки.\n\nУверены, что хотите удалить кэш?
- Ошибка установки
- Ошибка компиляции
- Не найдено имплементаций LanguageServer.
- Ошибка инициализации LanguageServerОшибка инициализации информации о SDK
- Не удалось запустить выбор файлов
- Ошибка парсинга метадаты APK
- Невозможно сохранить файлыНевозможно воспроизвести предпросмотр разметкиОшибка создания (inflate) разметки
- Невозможно запустить LanguageServer: %s
- Ошибка записи в поток Socket
- Процесс LanguageServer непредсказуемо завершился.Невозможно осуществить предпросмотр разметки!
@@ -308,18 +237,6 @@
LayoutsLinearLayoutRelativeLayout
- Нажмите на атрибуты, чтобы редактировать.
- =
- \'%s\' namespace
- Неизвестное имя пакета
- Выберите View, чтобы редактировать его атрибут.
- Атрибуты не были добавлены к этому элементу.\nНажмите на кнопку \'+\', чтобы добавить их.
- Введите значение для атрибута:
- Новое значение
- wrap_content
- match_parent
- Другое значение
- Введите значение размерностиПрименимые атрибутыДействияУдалить
@@ -330,11 +247,6 @@
Невозможно удалить элемент.Элементов добавлено не было. Нажмите, чтобы добавить.Нет доступного форматирования для этого атрибута.
- Невозможно создать редактор для этого атрибута
- Неподходящее значение
- Новое строковое значение
- Выберите новое значение
- Пожалуйста, отметьте хотя бы один пункт.Не удалось сгенерировать код XMLГенерация кода XMLГенерация кода не удалась
@@ -367,17 +279,12 @@
ДаНет
- \"Плавающие\" операции с текстом
- Использовать плавающее окно для отображения дополнительных действий с текстом.
- Горизонтальные действия с текстом
- Расположить действия с текстом в плавающем окне горизонтально.Имя не дожно быть пустым.Имя не может содержать недопустимых символовМесто сохраненияЯзык проекта
- Загрузка шаблонов...
+ Загрузка шаблонов…Выход
- Фильтр тегов журналаИсправление указателей тегов JDK 11Установите значение LD_PRELOAD для libhook.so, чтобы исправить проблему с указателями тегов для JDK11 в Android 11 [УСТАРЕЛО - предпочитаемо использовать JDK 17].Пользовательская установка Gradle
@@ -391,8 +298,6 @@
Не удается запустить намерение для установки APKДобавить атрибутПоиск атрибутов…
- Атрибут был успешно добавлен
- Не удалось обновить этот атрибутЗначение измеренияРесурс измеренияЛогический ресурс
@@ -407,11 +312,8 @@
Используйте конфигурацию форматирования кода в стиле Google Java для форматирования исходного кода Java.Флаг видимого пароляИспользуйте флаг для видимого типа ввода пароля в редакторе. Это гарантирует, что программная клавиатура не предложит никаких предложений.
- Не найдено никаких действий с кодомПредыдущий
- Чувствительный к регистру
- Регулярное выражение
- Замена...
+ Замена…Запущена служба сборки GradleСлужба сборки GradleСлужба сборки Gradle для AndroidIDE работает в фоновом режиме.
@@ -423,5 +325,4 @@
Запущенная задача: \'%1$s\'ЗаменаСинхронизация проекта
-
-
+
\ No newline at end of file
diff --git a/app/src/main/res/values-zh/strings.xml b/app/src/main/res/values-zh/strings.xml
index 9daa2dad6..85b91543d 100644
--- a/app/src/main/res/values-zh/strings.xml
+++ b/app/src/main/res/values-zh/strings.xml
@@ -28,7 +28,6 @@
IDE日志Splash images开始使用
- 这里啥也没有 …操作
@@ -41,31 +40,13 @@
跳转定义…没有找到定义没有找到引用
- 跳转定义
- 查找引用
- 代码
- 注释行
- 取消注释行诊断信息安装失败
- 安装进程以代码%1$d退出。请确保您从原始来源下载了构建工具(build tools)
- \n\n您可以尝试清除AndroidIDE的数据,然后重试。\n\n%2$s
- 选择让我们准备迎接很棒的东西!
- AndroidIDE Build Tools
- 安装AndroidIDE需要的构建工具
- 选择包含构建工具的目录
- 单击 \'安装\' 按钮来开始安装选择的路径不是文件夹!请只选择一个文件夹
- 文件不存在!
- 请先选择文件!
- 1. 从AndroidIDE网站上下载构建工具\n2. 将所有下载的压缩包文件放入一个目录中\n3. 单击下面的按钮选择该目录.\n4. 点击安装.\n5. 安装开始\n\n根据设备性能不同,安装可能持续 5–10 分钟。请耐心等待。
- 将要安装的文件:\n\n%s
- 重新启动
- 安装已成功完成!现在请您重启AndroidIDE。请稍等 …设备不受支持很不幸,您的设备当前不受我们支持。我们对其产生的不便很抱歉。\n\n支持的CPU架构: aarch64 and armeabi-v7a
@@ -83,29 +64,19 @@
清理缓存创建AAB构建任务
- 停止Gradle守护进程快速运行Gradle文件已改变。请重新编译您的项目来同步依赖和配置项。
- ========== [%s] 任务开始: %s ==========准备中准备中。 第一次编译可能耗费 10–15 分钟!
- Gradle进程以代码 %1$d退出
- 安装Gradle Wrapper失败: %sGradle Wrapper不可用!\n正在安装默认版本。 如有需要,Gradle v7.4将会被下载正在获取Gradle守护进程状态,请稍等…
- Gradle守护进程已停止Gradle守护进程状态
- 服务已启动
- 正在启动服务
- 正在启动Gradle守护进程安装APK清空输出
- 安装运行Gradle第一次编译这是您安装AndroidIDE后第一次编译项目。由于需要下载Gradle和各种依赖项目,第一次编译需要较长时间。这可能要花费10–15分钟。 但这完全取决于您的网络连接。\n\n请耐心等待 …
- 正在编译创建项目
@@ -114,21 +85,14 @@
创建新项目应用包名应用名称
- 输入的值不合法
- 您似乎还没有创建项目呢!创建您令人惊讶的新项目!打开上一次的项目?你想要打开上一次未关闭的项目吗?打开的项目:\n%s
- 初始化项目失败!项目关闭项目上一次打开的项目已不存在!创建新项目打开项目
- 正在打开项目…
- 选择的目录不是一个Android应用项目
- 已删除项目
- 删除项目失败!关闭项目你确定要关闭项目吗?项目关闭后,已启动的Gradle守护进程将会被停止。已存在同名的项目!
@@ -140,8 +104,6 @@
使用AppCompat Toolbar, DrawerLayout and NavigationView的项目空项目导航侧滑项目
- Kotlin 基本项目
- 带有 Appcompat Toolbar 与 Floating Action Button 的 Kotlin 项目LibGDX 游戏LibGDX 游戏项目图像渲染示例
@@ -216,17 +178,9 @@
撤销重做
- 粘贴复制
- 全选
- 剪切
- 上一个下一个
- 替换
- 全部替换
- 替换文本查找文本
- 更多编辑器字体大小
@@ -257,17 +211,13 @@
Tab宽度指定TAB代表的空格数偏好设置
- 读取变更日志失败!更新日志请选择编辑器的默认字体大小 :这将会删除Gradle创建的缓存文件夹。如果您删除它,由于需要下载文件,下一次构建可能需要花费更久的时间。\n注意: 这也会删除AAPT2。你需要重新安装它,否则你将会遇到编译错误。\n\n你真的要删除它们吗?
- 安装错误无法获取SDK信息
- 无法启动文件选择
- 转换APK元信息失败无法预览布局布局实例化失败
@@ -290,10 +240,6 @@
布局线性布局相对布局
- 属性值
- wrap_content
- match_parent
- 其他值可用属性操作删除
@@ -304,10 +250,6 @@
删除视图失败还没有添加控件。单击以添加为找到可用的属性格式
- 非法属性值
- 新字符串值
- 选择新值
- 请至少勾选一个值生成XML代码失败生成XML代码代码生成失败
@@ -339,15 +281,9 @@
@android:string/yes@android:string/no
- 悬浮 文本操作栏
- 使用 PopupWindow 显示文本操作栏(重启以应用更改)
- 水平 文本操作栏
- 水平显示文本操作栏(重启以应用更改)无法启动 APK 安装程序新增 属性搜索 属性…
- 属性 已添加
- 无法更新此 属性Dimension 值Dimension 资源Boolean 资源
@@ -362,10 +298,7 @@
使用 Google Java 样式代码格式化配置格式化 Java 源代码使用明文密码键盘在编辑器中指示系统使用明文密码键盘。这确保您的键盘不会显示字词建议
- 未找到代码操作上一个
- 区分大小写
- 正则表达式替换中…Gradle 构建服务已启动
@@ -378,6 +311,5 @@
项目初始化失败项目未初始化运行的任务: \'%1$s\'
-
-
+
\ No newline at end of file
diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml
index e09634f45..1bbd7226d 100644
--- a/app/src/main/res/values/arrays.xml
+++ b/app/src/main/res/values/arrays.xml
@@ -16,7 +16,6 @@
~ along with AndroidIDE. If not, see .
-->
-
dpsp
@@ -25,13 +24,4 @@
inmm
-
-
- Verbose
- Debug
- Info
- Warning
- Error
-
-
\ No newline at end of file
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index 40eb0ad50..2cd4c5562 100755
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -20,13 +20,9 @@
@color/primaryLightColor#000000#50121212
- @color/secondaryDarkColor#FF7043
- #4CAF50
- @color/primaryTextColor@color/secondaryDarkColor@color/log_warning#212121
- #4CAF50#212121
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 58338be1b..2f5d39703 100755
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -1,4 +1,4 @@
-
+AndroidIDE
@@ -28,7 +28,6 @@
IDE LogsSplash imageGet started
- Nothing here …Unable to perform quick fix
@@ -40,30 +39,13 @@
Finding definition…Definition not foundNo references found
- Go to definition
- Find all references
- Code
- Comment
- UncommentDiagnosticsInstallation failed
- Installation process terminated with exit code %1$d. Make sure you downloaded the build tools from original sources.\n\nYou could try to clear data of AndroidIDE and install again. \n\n%2$s
- ChooseGet ready for something awesome !
- AndroidIDE Build Tools
- Install Build Tools required by AndroidIDE
- Choose directory which contains build tools.
- Click \'Install\' button to start the installation process.Picked file is not a directory!Please choose only one directory
- File doesn\'t exist!
- Please choose files!
- 1. Download the build tools from AndroidIDE\'s website.\n2. Move all the archives in a directory.\n3. Pick that directory using the button below.\n4. Click Install.\n5. The installation process will begin.\n\nThe installation process will take about 5–10 minutes depending on your device\'s performance. Please be Patient!
- Files to be installed\n\n%s
- Please restart
- Installation is finished successfully. Please restart AndroidIDE.Please wait for a moment …Device Not SupportedUnfortunately, your device is not supported at the moment. We are sorry for the inconvenience.\n\nSupported CPU ABIs: aarch64 and armeabi-v7a
@@ -81,29 +63,19 @@
CleanCreate AABBuild tasks
- Stop Gradle DaemonsQuick runGradle files have changed. Please rebuild your project to sync dependencies and configurations.
- ========== [%s] TASK_BEGIN: %s ==========PreparingPreparing. First build may take up to 10–15 minutes!
- Gradle process exited with exit code %1$d
- Failed to install Gradle Wrapper: %sGradle Wrapper is not available!\nInstalling default one. Gradle v7.4 will be downloaded if necessary.Getting Daemon status, please wait…
- Gradle Daemons StoppedGradle daemon status
- Service Started
- Starting services
- Starting a Gradle daemonInstall APK(s)Clear output
- InstallRunGradleFirst BuildThis is the first time build after you installed AndroidIDE. First build usually takes time as Gradle downloads all dependencies and plugins. This process may take about 10–15 minutes. But this totally depends on your network connection.\n\nPlease be patient …
- CompilingCreate project
@@ -112,21 +84,14 @@
New projectPackage nameApp name
- Invalid values
- Looks like you haven\'t created any projects yet.Start your new awesome project!Open last project?Do you want me to open last opened project? Opened project was:\n%s
- Failed to initialize project!ProjectClose this projectLast opened project doesn\'t exist!Create new projectOpen existing project
- Opening project…
- Picked directory is not an Android project
- Project deleted
- Failed to delete project!Close projectAre you sure you want to close this project? All started Gradle daemons will be stopped after this project is closed.A project with same name already exists!
@@ -138,8 +103,6 @@
Project with AppCompat Toolbar, DrawerLayout and NavigationViewEmpty projectNavigation drawer project
- Kotlin Basic Project
- Kotlin project with Appcompat Toolbar and a Floating Action ButtonLibGDX GameLibGDX game project set up to render an image as an example.Jetpack Compose
@@ -248,17 +211,13 @@
Tab sizeSpecify number of spaces for TABPreferences
- Failed to read changelog!ChangelogPlease choose default font size of editor :This will delete caches directory created by Gradle. If you delete it, the next build may take a bit longer than normal as Gradle will download required files again.\nIMPORTANT: This will also delete AAPT2. You will need to reinstall it otherwise you\'ll end up with a build failure.\n\nAre you sure you want to delete caches?
- Installation errorUnable to initialize SDK Info
- Unable to start file picker
- Failed to parse APK metadataUnable to preview layoutUnable to inflate layout
@@ -281,9 +240,6 @@
LayoutsLinearLayoutRelativeLayout
- wrap_content
- match_parent
- Other valueApplicable attributesActionsDelete
@@ -294,11 +250,6 @@
Unable to delete the view.No views have been added. Click to add.No attribute format is available for this attribute.
- New value
- Invalid value
- New string value
- Choose new value
- Please check at least one flag.Failed to generate XML codeGenerating XML codeCode generation failed
@@ -330,15 +281,9 @@
YesNo
- Floating text actions
- Use PopupWindow for showing text actions (restart required if changed).
- Horizontal text actions
- Make the floating text actions appear horizontally (restart required if changed).Unable to start intent for installing APKAdd attributeSearch attributes…
- Attribute was added successfully
- Unable to update this attributeDimension valueDimension resourceBoolean resource
@@ -354,11 +299,8 @@
Use Google Java Style code formatting configuration for formatting Java source code.Visible password flagUse for visible password input type flag in editor. This makes sure that no suggestions are proposed by soft keyboard.
- No code actions foundPrevious
- Case sensitive
- Regex
- Replacing...
+ Replacing…Gradle build service startedGradle build service
@@ -377,15 +319,14 @@
Name cannot contain illegal charactersSave locationProject Language
- Templates loading...
+ Templates loading…NextExit
- Log tags filter
-
+
JDK 11 tag pointers fixSet LD_PRELOAD to libhook.so to fix tag pointers issue for JDK 11 in Android 11 [DEPRECATED - Prefer using JDK 17].Custom Gradle installationSpecify a custom Gradle installation to use for build. This OVERRIDES the version specified in gradle-wrapper.properties.Gradle installation pathLeave empty to use Gradle wrapper.
-
+
\ No newline at end of file
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index 694675c50..f197bb258 100755
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -46,19 +46,6 @@
@color/secondaryTextColor_light
-
-
-
-
-
diff --git a/build-tools/tooling-api-impl/build.gradle b/build-tools/tooling-api-impl/build.gradle
index 9af08be58..6bf937672 100644
--- a/build-tools/tooling-api-impl/build.gradle
+++ b/build-tools/tooling-api-impl/build.gradle
@@ -30,15 +30,13 @@ java {
jar {
manifest {
- attributes (
- 'Main-Class': 'com.itsaky.androidide.tooling.impl.Main'
- )
+ attributes ('Main-Class': 'com.itsaky.androidide.tooling.impl.Main')
}
}
-task processSource(type: Sync) {
+task processSource (type: Sync) {
from sourceSets.main.java
- filter(ReplaceTokens, tokens: [AGP_VERSION: project.property ("androidide.tooling.supportedAgpVersion")])
+ filter (ReplaceTokens, tokens: [AGP_VERSION: project.property ("androidide.tooling.supportedAgpVersion")])
into "$buildDir/src"
}
@@ -88,4 +86,13 @@ compileTestKotlin {
kotlinOptions {
jvmTarget = "11"
}
+}
+
+test {
+ doFirst {
+ systemProperty "test.android.home", System.getenv ("ANDROID_HOME")
+// jvmArgs '--add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.io=ALL-UNNAMED'
+ }
+
+ println jvmArgs
}
\ No newline at end of file
diff --git a/build-tools/tooling-api-impl/src/test/java/com/itsaky/androidide/tooling/impl/ToolingApiImplTest.kt b/build-tools/tooling-api-impl/src/test/java/com/itsaky/androidide/tooling/impl/ToolingApiImplTest.kt
index 39ba503bc..cd06999ae 100644
--- a/build-tools/tooling-api-impl/src/test/java/com/itsaky/androidide/tooling/impl/ToolingApiImplTest.kt
+++ b/build-tools/tooling-api-impl/src/test/java/com/itsaky/androidide/tooling/impl/ToolingApiImplTest.kt
@@ -102,8 +102,20 @@ class ToolingApiImplTest {
}
private fun launchServer(client: IToolingApiClient): Pair {
- val builder = ProcessBuilder("java", "-jar", "./build/libs/tooling-api-all.jar")
- builder.environment()["ANDROID_SDK_ROOT"] = findAndroidHome()
+ val builder =
+ ProcessBuilder(
+ "java",
+ "--add-opens",
+ "java.base/java.lang=ALL-UNNAMED",
+ "--add-opens",
+ "java.base/java.util=ALL-UNNAMED",
+ "--add-opens",
+ "java.base/java.io=ALL-UNNAMED",
+ "-jar",
+ "./build/libs/tooling-api-all.jar")
+ val androidHome = findAndroidHome()
+ builder.environment()["ANDROID_SDK_ROOT"] = androidHome
+ builder.environment()["ANDROID_HOME"] = androidHome
val proc = builder.start()
Thread(Reader(proc.errorStream)).start()
@@ -116,28 +128,13 @@ class ToolingApiImplTest {
}
private fun findAndroidHome(): String {
- var fromEnv = System.getenv("ANDROID_SDK_ROOT")
- if (fromEnv != null) {
- return fromEnv
- }
-
- fromEnv = System.getenv("ANDROID_HOME")
- if (fromEnv != null) {
- return fromEnv
- }
-
- val home = System.getProperty("user.home")
- if (System.getProperty("os.name").contains("Windows")) {
- return "$home/AppData/Local/Android/Sdk"
- }
-
- return "$home/android-sdk"
+ return System.getProperty("test.android.home")
}
private class TestClient : IToolingApiClient {
private val log = ILogger.newInstance(javaClass.simpleName)
override fun logMessage(line: LogLine) {
- log.log(ILogger.priority(line.priorityChar), line.formattedTagAndMessage())
+ log.log(line.priority, line.formattedTagAndMessage())
}
override fun logOutput(line: String) {
diff --git a/build-tools/tooling-api-impl/src/test/test-home/.androidide/init/model.jar b/build-tools/tooling-api-impl/src/test/test-home/.androidide/init/model.jar
index 2bffc1149..69eb66e94 100644
Binary files a/build-tools/tooling-api-impl/src/test/test-home/.androidide/init/model.jar and b/build-tools/tooling-api-impl/src/test/test-home/.androidide/init/model.jar differ
diff --git a/build-tools/tooling-api-model/build.gradle b/build-tools/tooling-api-model/build.gradle
index 5ce97bec1..0e5ffd8c4 100644
--- a/build-tools/tooling-api-model/build.gradle
+++ b/build-tools/tooling-api-model/build.gradle
@@ -56,4 +56,16 @@ project.tasks.jar {
outputs.upToDateWhen {
false
}
+}
+
+compileKotlin {
+ kotlinOptions {
+ jvmTarget = "11"
+ }
+}
+
+compileTestKotlin {
+ kotlinOptions {
+ jvmTarget = "11"
+ }
}
\ No newline at end of file
diff --git a/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/util/AndroidModulePropertyCopier.kt b/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/util/AndroidModulePropertyCopier.kt
index 105f5d1db..eaf8a3c40 100644
--- a/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/util/AndroidModulePropertyCopier.kt
+++ b/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/util/AndroidModulePropertyCopier.kt
@@ -85,6 +85,7 @@ object AndroidModulePropertyCopier {
private val log = ILogger.newInstance(javaClass.simpleName)
fun copy(module: IdeAndroidModule): IdeAndroidModule {
+ @Suppress("DEPRECATION")
return IdeAndroidModule(
module.name,
module.projectPath,
@@ -249,7 +250,9 @@ object AndroidModulePropertyCopier {
}
}
- fun copy(flags: AndroidGradlePluginProjectFlags): DefaultAndroidGradlePluginProjectFlags {
+ fun copy(
+ @Suppress("UNUSED_PARAMETER") flags: AndroidGradlePluginProjectFlags
+ ): DefaultAndroidGradlePluginProjectFlags {
val flagMap: MutableMap = mutableMapOf()
// log.debug("Flags:", flags)
//
diff --git a/common/build.gradle b/common/build.gradle
index db0e22c3d..23d85af6b 100755
--- a/common/build.gradle
+++ b/common/build.gradle
@@ -17,6 +17,10 @@ android {
targetCompatibility rootProject.ext.javaTargetVersion
}
+ kotlinOptions {
+ jvmTarget = "11"
+ }
+
buildTypes {
release {
minifyEnabled true
@@ -27,7 +31,7 @@ android {
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation common.utilcode
- implementation common.lang3
+ implementation common.lang3
implementation google.material
implementation androidx.appcompat
diff --git a/common/src/main/java/com/itsaky/androidide/utils/AndroidUtils.java b/common/src/main/java/com/itsaky/androidide/utils/AndroidUtils.java
index 7d95481ad..b7b6eb51f 100644
--- a/common/src/main/java/com/itsaky/androidide/utils/AndroidUtils.java
+++ b/common/src/main/java/com/itsaky/androidide/utils/AndroidUtils.java
@@ -1,11 +1,13 @@
package com.itsaky.androidide.utils;
-import com.itsaky.androidide.common.R;
import com.itsaky.androidide.app.BaseApplication;
+import com.itsaky.androidide.common.R;
import org.apache.commons.lang3.StringUtils;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
-import org.jetbrains.annotations.*;
+import java.util.Locale;
public class AndroidUtils {
/**
@@ -195,7 +197,7 @@ public class AndroidUtils {
}
public static String appNameToPackageName(String appName, String packageName) {
- String newAppName = trimWhiteSpace(appName).toLowerCase();
+ String newAppName = trimWhiteSpace(appName).toLowerCase(Locale.getDefault());
return getPackageDomain(packageName) + "." + newAppName;
}
diff --git a/common/src/main/res/drawable-hdpi/ic_hex_icon.png b/common/src/main/res/drawable-hdpi/ic_hex_icon.png
deleted file mode 100644
index 9e91543e0..000000000
Binary files a/common/src/main/res/drawable-hdpi/ic_hex_icon.png and /dev/null differ
diff --git a/common/src/main/res/drawable-mdpi/ic_hex_icon.png b/common/src/main/res/drawable-mdpi/ic_hex_icon.png
deleted file mode 100644
index 257f6621b..000000000
Binary files a/common/src/main/res/drawable-mdpi/ic_hex_icon.png and /dev/null differ
diff --git a/common/src/main/res/drawable-xhdpi/ic_hex_icon.png b/common/src/main/res/drawable-xhdpi/ic_hex_icon.png
deleted file mode 100644
index e6fc278fe..000000000
Binary files a/common/src/main/res/drawable-xhdpi/ic_hex_icon.png and /dev/null differ
diff --git a/common/src/main/res/drawable-xxhdpi/ic_hex_icon.png b/common/src/main/res/drawable-xxhdpi/ic_hex_icon.png
deleted file mode 100644
index e8d1cec01..000000000
Binary files a/common/src/main/res/drawable-xxhdpi/ic_hex_icon.png and /dev/null differ
diff --git a/common/src/main/res/drawable-anydpi/ic_hex_icon.xml b/common/src/main/res/drawable/ic_hex_icon.xml
similarity index 100%
rename from common/src/main/res/drawable-anydpi/ic_hex_icon.xml
rename to common/src/main/res/drawable/ic_hex_icon.xml
diff --git a/common/src/main/res/values-de/strings.xml b/common/src/main/res/values-de/strings.xml
index 3e863cf11..fc14b27a0 100644
--- a/common/src/main/res/values-de/strings.xml
+++ b/common/src/main/res/values-de/strings.xml
@@ -1,6 +1,4 @@
- Benachrichtigungen von Entwicklern
-App Update BenachrichtigungenHex FarbcodeAuswählenAusführbare Berechtigungen festlegen…
diff --git a/common/src/main/res/values-fr/strings.xml b/common/src/main/res/values-fr/strings.xml
index 2d8014379..ab6a69cec 100644
--- a/common/src/main/res/values-fr/strings.xml
+++ b/common/src/main/res/values-fr/strings.xml
@@ -1,9 +1,7 @@
-Notifications des Développeurs
-Notifications de Mise à jour
-Code de couleur Hex
-Prendre
-Définition des permissions exécutables…
-Liaison %1$s à %2$s
-Extraction des librairies hook…
+ Code de couleur Hex
+ Prendre
+ Définition des permissions exécutables…
+ Liaison %1$s à %2$s
+ Extraction des librairies hook…
diff --git a/common/src/main/res/values-hi/strings.xml b/common/src/main/res/values-hi/strings.xml
index 1d96ec84d..276c27e02 100644
--- a/common/src/main/res/values-hi/strings.xml
+++ b/common/src/main/res/values-hi/strings.xml
@@ -1,9 +1,7 @@
- डेवलपर्स से सूचनाएंस
- एप अपडेट नोटिफिकेशंसहेक्स कलर कोडचुने
- एक्सेक्यूटबले अनुमति सेट कर रहा है...
+ एक्सेक्यूटबले अनुमति सेट कर रहा है…%2$s %1$s से लिंक हो रहा है
- libhook लाइब्रेरीज एक्सट्रेक्ट हो रही है...
+ libhook लाइब्रेरीज एक्सट्रेक्ट हो रही है…
diff --git a/common/src/main/res/values-in/strings.xml b/common/src/main/res/values-in/strings.xml
index 70f121f55..d3ac833e3 100644
--- a/common/src/main/res/values-in/strings.xml
+++ b/common/src/main/res/values-in/strings.xml
@@ -4,5 +4,4 @@
Mengatur perijinan eksekusi…Menghubungkan %1$s ke %2$sMengekstrak pustaka yang berkaitan…
- App Update Benachrichtigungen
diff --git a/common/src/main/res/values-pt-rBR/strings.xml b/common/src/main/res/values-pt-rBR/strings.xml
index f2a3f8f7d..999d523be 100644
--- a/common/src/main/res/values-pt-rBR/strings.xml
+++ b/common/src/main/res/values-pt-rBR/strings.xml
@@ -1,6 +1,4 @@
- Notificações de desenvolvedores
- Notificações de atualização do aplicativoCódigo de cor hexadecimalEscolhaDefinindo permissões executáveis…
diff --git a/common/src/main/res/values-zh/strings.xml b/common/src/main/res/values-zh/strings.xml
index c50ee6014..d59d736ce 100644
--- a/common/src/main/res/values-zh/strings.xml
+++ b/common/src/main/res/values-zh/strings.xml
@@ -1,6 +1,4 @@
- 来自开发者的通知
- 应用更新通知十六进制颜色代码选择正在设置可执行权限…
diff --git a/common/src/main/res/values/strings.xml b/common/src/main/res/values/strings.xml
index cbfdcccc2..a9a7a6239 100755
--- a/common/src/main/res/values/strings.xml
+++ b/common/src/main/res/values/strings.xml
@@ -1,4 +1,4 @@
-
+AndroidIDE Gradle build serviceHex color codePick
@@ -12,5 +12,5 @@
A digit cannot be the first character in a package segmentThe character "%1$s" is not allowed in Android application package namesThe package must have at least one \'.\' separator
-
+
diff --git a/emulatorview/src/main/java/com/itsaky/terminal/TerminalEmulator.java b/emulatorview/src/main/java/com/itsaky/terminal/TerminalEmulator.java
index 67ac19220..7767f132a 100755
--- a/emulatorview/src/main/java/com/itsaky/terminal/TerminalEmulator.java
+++ b/emulatorview/src/main/java/com/itsaky/terminal/TerminalEmulator.java
@@ -2140,7 +2140,7 @@ public final class TerminalEmulator {
mBackColor = code - 100 + 8;
} else {
if (LOG_ESCAPE_SEQUENCES)
- mClient.logWarn(LOG_TAG, String.format("SGR unknown code %d", code));
+ mClient.logWarn(LOG_TAG, String.format(Locale.getDefault(), "SGR unknown code %d", code));
}
}
}
@@ -2160,17 +2160,13 @@ public final class TerminalEmulator {
}
private void doOscEsc(int b) {
- switch (b) {
- case '\\':
- doOscSetTextParameters("\033\\");
- break;
- default:
- // The ESC character was not followed by a \, so insert the ESC and
- // the current character in arg buffer.
- collectOSCArgs(27);
- collectOSCArgs(b);
- continueSequence(ESC_OSC);
- break;
+ if (b == '\\') {
+ doOscSetTextParameters("\033\\");
+ } else { // The ESC character was not followed by a \, so insert the ESC and
+ // the current character in arg buffer.
+ collectOSCArgs(27);
+ collectOSCArgs(b);
+ continueSequence(ESC_OSC);
}
}
diff --git a/emulatorview/src/main/java/com/itsaky/terminal/TerminalSession.java b/emulatorview/src/main/java/com/itsaky/terminal/TerminalSession.java
index dcafa7f49..6e69b4aac 100755
--- a/emulatorview/src/main/java/com/itsaky/terminal/TerminalSession.java
+++ b/emulatorview/src/main/java/com/itsaky/terminal/TerminalSession.java
@@ -1,12 +1,12 @@
package com.itsaky.terminal;
+import android.annotation.SuppressLint;
import android.os.Handler;
import android.os.Looper;
import android.os.Message;
import android.system.ErrnoException;
import android.system.Os;
import android.system.OsConstants;
-import android.util.Log;
import java.io.File;
import java.io.FileDescriptor;
@@ -324,6 +324,7 @@ public final class TerminalSession extends TerminalOutput {
return null;
}
+ @SuppressLint("DiscouragedPrivateApi")
private static FileDescriptor wrapFileDescriptor(
int fileDescriptor, TerminalSessionClient client) {
FileDescriptor result = new FileDescriptor();
diff --git a/emulatorview/src/main/java/com/itsaky/terminal/view/TerminalView.java b/emulatorview/src/main/java/com/itsaky/terminal/view/TerminalView.java
index b2f9e1026..6935cde25 100755
--- a/emulatorview/src/main/java/com/itsaky/terminal/view/TerminalView.java
+++ b/emulatorview/src/main/java/com/itsaky/terminal/view/TerminalView.java
@@ -7,7 +7,6 @@ import android.content.ClipboardManager;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Typeface;
-import android.os.Build;
import android.os.Handler;
import android.os.Looper;
import android.text.Editable;
@@ -30,8 +29,6 @@ import android.view.inputmethod.EditorInfo;
import android.view.inputmethod.InputConnection;
import android.widget.Scroller;
-import androidx.annotation.RequiresApi;
-
import com.itsaky.terminal.KeyHandler;
import com.itsaky.terminal.TerminalEmulator;
import com.itsaky.terminal.TerminalSession;
@@ -589,7 +586,6 @@ public final class TerminalView extends View {
@SuppressLint("ClickableViewAccessibility")
@Override
- @TargetApi(23)
public boolean onTouchEvent(MotionEvent event) {
if (mEmulator == null) return true;
final int action = event.getAction();
@@ -1045,7 +1041,6 @@ public final class TerminalView extends View {
}
/** Define functions required for AutoFill API */
- @RequiresApi(api = Build.VERSION_CODES.O)
@Override
public void autofill(AutofillValue value) {
if (value.isText()) {
@@ -1053,13 +1048,11 @@ public final class TerminalView extends View {
}
}
- @RequiresApi(api = Build.VERSION_CODES.O)
@Override
public int getAutofillType() {
return AUTOFILL_TYPE_TEXT;
}
- @RequiresApi(api = Build.VERSION_CODES.O)
@Override
public AutofillValue getAutofillValue() {
return AutofillValue.forText("");
diff --git a/emulatorview/src/main/res/values-de/strings.xml b/emulatorview/src/main/res/values-de/strings.xml
index ca80e2062..178f8c39c 100644
--- a/emulatorview/src/main/res/values-de/strings.xml
+++ b/emulatorview/src/main/res/values-de/strings.xml
@@ -18,5 +18,4 @@
EinfügenKopieren
- Mehr…
\ No newline at end of file
diff --git a/emulatorview/src/main/res/values-fr/strings.xml b/emulatorview/src/main/res/values-fr/strings.xml
index de3ee1847..978e5f023 100644
--- a/emulatorview/src/main/res/values-fr/strings.xml
+++ b/emulatorview/src/main/res/values-fr/strings.xml
@@ -1,5 +1,4 @@
CollerCopier
- Plus…
diff --git a/emulatorview/src/main/res/values-hi/strings.xml b/emulatorview/src/main/res/values-hi/strings.xml
index 2682a738f..04cbd6b74 100644
--- a/emulatorview/src/main/res/values-hi/strings.xml
+++ b/emulatorview/src/main/res/values-hi/strings.xml
@@ -1,7 +1,4 @@
-
पेस्टकॉपी
- अधिक…
-
diff --git a/emulatorview/src/main/res/values-in/strings.xml b/emulatorview/src/main/res/values-in/strings.xml
index 8f230096a..ad2336601 100644
--- a/emulatorview/src/main/res/values-in/strings.xml
+++ b/emulatorview/src/main/res/values-in/strings.xml
@@ -1,5 +1,4 @@
TempelSalin
- Lainnya…
diff --git a/emulatorview/src/main/res/values-pt-rBR/strings.xml b/emulatorview/src/main/res/values-pt-rBR/strings.xml
index 0f1f2d40e..73cfb20b7 100644
--- a/emulatorview/src/main/res/values-pt-rBR/strings.xml
+++ b/emulatorview/src/main/res/values-pt-rBR/strings.xml
@@ -1,5 +1,4 @@
ColarCopiar
- Mais…
diff --git a/emulatorview/src/main/res/values-ru/strings.xml b/emulatorview/src/main/res/values-ru/strings.xml
index 3c04297e7..6e80142e0 100644
--- a/emulatorview/src/main/res/values-ru/strings.xml
+++ b/emulatorview/src/main/res/values-ru/strings.xml
@@ -18,5 +18,4 @@
ВставитьКопировать
- Ещё…
\ No newline at end of file
diff --git a/emulatorview/src/main/res/values-zh/strings.xml b/emulatorview/src/main/res/values-zh/strings.xml
index a553ecb6a..0b9b0e567 100644
--- a/emulatorview/src/main/res/values-zh/strings.xml
+++ b/emulatorview/src/main/res/values-zh/strings.xml
@@ -1,5 +1,4 @@
粘贴复制
- 更多…
diff --git a/emulatorview/src/main/res/values/strings.xml b/emulatorview/src/main/res/values/strings.xml
index 44ca75087..f2e779047 100755
--- a/emulatorview/src/main/res/values/strings.xml
+++ b/emulatorview/src/main/res/values/strings.xml
@@ -1,6 +1,5 @@
PasteCopy
- More…
diff --git a/gradle.properties b/gradle.properties
index 3fabbdc89..65ffd8141 100755
--- a/gradle.properties
+++ b/gradle.properties
@@ -11,7 +11,7 @@
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
# org.gradle.parallel=true
#Wed Feb 02 13:50:55 IST 2022
-org.gradle.jvmargs=-Xmx2048M -Dkotlin.daemon.jvm.options\="-Xmx2048M"
+org.gradle.jvmargs=-Xmx2048M --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.io=ALL-UNNAMED -Dkotlin.daemon.jvm.options\="-Xmx2048M"
android.useAndroidX=true
android.enableJetifier=true
androidide.tooling.supportedAgpVersion=7.2.0
diff --git a/lsp/api/build.gradle b/lsp/api/build.gradle
index 3d97ed36b..e1cccd379 100644
--- a/lsp/api/build.gradle
+++ b/lsp/api/build.gradle
@@ -32,10 +32,15 @@ android {
proguardFiles getDefaultProguardFile ('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
+
compileOptions {
sourceCompatibility rootProject.ext.javaSourceVersion
targetCompatibility rootProject.ext.javaTargetVersion
}
+
+ kotlinOptions {
+ jvmTarget = "11"
+ }
}
dependencies {
diff --git a/lsp/java/src/main/java/com/itsaky/lsp/java/utils/JavaParserUtils.kt b/lsp/java/src/main/java/com/itsaky/lsp/java/utils/JavaParserUtils.kt
index 73daf1945..0fcff4c8c 100644
--- a/lsp/java/src/main/java/com/itsaky/lsp/java/utils/JavaParserUtils.kt
+++ b/lsp/java/src/main/java/com/itsaky/lsp/java/utils/JavaParserUtils.kt
@@ -61,7 +61,6 @@ import com.github.javaparser.ast.stmt.ExpressionStmt
import com.github.javaparser.ast.stmt.ReturnStmt
import com.github.javaparser.ast.stmt.Statement
import com.github.javaparser.ast.type.ArrayType
-import com.github.javaparser.ast.type.ClassOrInterfaceType
import com.github.javaparser.ast.type.PrimitiveType
import com.github.javaparser.ast.type.PrimitiveType.Primitive.BOOLEAN
import com.github.javaparser.ast.type.PrimitiveType.Primitive.BYTE
@@ -100,9 +99,8 @@ import com.sun.source.tree.Tree
import com.sun.source.tree.TypeParameterTree
import com.sun.source.tree.VariableTree
import java.util.*
-import java.util.function.Predicate
-import java.util.stream.IntStream
-import java.util.stream.Stream
+import java.util.function.*
+import java.util.stream.*
import javax.lang.model.element.ExecutableElement
import javax.lang.model.element.Modifier
import javax.lang.model.element.TypeParameterElement
@@ -217,8 +215,7 @@ object JavaParserUtils {
val methodCallExpr = MethodCallExpr()
methodCallExpr.name = methodDeclaration.name
methodCallExpr.arguments =
- methodDeclaration
- .parameters
+ methodDeclaration.parameters
.stream()
.map { obj: Parameter -> obj.nameAsExpression }
.collect(NodeList.toNodeList())
@@ -235,7 +232,13 @@ object JavaParserUtils {
private fun getReturnExpr(type: PrimitiveType): Expression {
return when (type.type) {
BOOLEAN -> BooleanLiteralExpr()
- BYTE, DOUBLE, CHAR, SHORT, LONG, FLOAT, INT -> IntegerLiteralExpr("0")
+ BYTE,
+ DOUBLE,
+ CHAR,
+ SHORT,
+ LONG,
+ FLOAT,
+ INT -> IntegerLiteralExpr("0")
else -> NullLiteralExpr()
}
}
@@ -362,7 +365,7 @@ object JavaParserUtils {
return CharLiteralExpr(value)
}
if (value is Long) {
- return LongLiteralExpr(value)
+ return LongLiteralExpr(value.toString())
}
return if (value is Double) {
DoubleLiteralExpr(value)
@@ -444,9 +447,7 @@ object JavaParserUtils {
fun toMethodDeclaration(method: MethodTree, type: ExecutableType?): MethodDeclaration {
val methodDeclaration = MethodDeclaration()
methodDeclaration.annotations =
- method
- .modifiers
- .annotations
+ method.modifiers.annotations
.stream()
.map { toAnnotation(it) }
.collect(NodeList.toNodeList())
@@ -463,8 +464,7 @@ object JavaParserUtils {
methodDeclaration.modifiers =
method.modifiers.flags.stream().map { toModifier(it) }.collect(NodeList.toNodeList())
methodDeclaration.parameters =
- method
- .parameters
+ method.parameters
.stream()
.map { toParameter(it) }
.peek { parameter: Parameter? ->
@@ -473,8 +473,7 @@ object JavaParserUtils {
}
.collect(NodeList.toNodeList())
methodDeclaration.typeParameters =
- method
- .typeParameters
+ method.typeParameters
.stream()
.map { toType(it as Tree?) }
.filter { obj: Type? -> Objects.nonNull(obj) }
@@ -527,9 +526,11 @@ object JavaParserUtils {
fun toParameter(tree: VariableTree): Parameter {
val parameter = Parameter()
parameter.type = toType(tree.type)
- tree.modifiers.flags.stream().map { toModifier(it) }.collect(NodeList.toNodeList()).also {
- parameter.modifiers = it
- }
+ tree.modifiers.flags
+ .stream()
+ .map { toModifier(it) }
+ .collect(NodeList.toNodeList())
+ .also { parameter.modifiers = it }
parameter.setName(tree.name.toString())
return parameter
}
@@ -573,8 +574,7 @@ object JavaParserUtils {
methodDeclaration.isDefault = method!!.isDefault
methodDeclaration.setName(method.simpleName.toString())
methodDeclaration.setModifiers(
- *method
- .modifiers
+ *method.modifiers
.stream()
.map { com.github.javaparser.ast.Modifier.Keyword.valueOf(it!!.name) }
.asArray())
@@ -655,7 +655,8 @@ object JavaParserUtils {
return type
}
if (type is NodeWithSimpleName<*>) {
- return ClassOrInterfaceType((type as NodeWithSimpleName<*>).nameAsString)
+ return StaticJavaParser.parseClassOrInterfaceType(
+ (type as NodeWithSimpleName<*>).nameAsString)
}
return if (type.isArrayType) {
ArrayType(getTypeWithoutBounds(type.asArrayType().componentType))
@@ -714,10 +715,12 @@ object JavaParserUtils {
classNames.addAll(getClassNames(type.asArrayType().componentType))
}
if (type.isIntersectionType) {
- type.asIntersectionType().elements.stream().map { getClassNames(it) }.forEach {
- c: MutableList? ->
- classNames.addAll(c!!)
- }
+ type
+ .asIntersectionType()
+ .elements
+ .stream()
+ .map { getClassNames(it) }
+ .forEach { c: MutableList? -> classNames.addAll(c!!) }
}
return classNames
}
diff --git a/lsp/java/src/main/java/org/netbeans/lib/nbjavac/services/NBClassFinder.java b/lsp/java/src/main/java/org/netbeans/lib/nbjavac/services/NBClassFinder.java
index 8450137bd..b52d54ab6 100644
--- a/lsp/java/src/main/java/org/netbeans/lib/nbjavac/services/NBClassFinder.java
+++ b/lsp/java/src/main/java/org/netbeans/lib/nbjavac/services/NBClassFinder.java
@@ -31,11 +31,14 @@ import com.sun.tools.javac.util.JCDiagnostic.DiagnosticType;
import com.sun.tools.javac.util.JCDiagnostic.SimpleDiagnosticPosition;
import com.sun.tools.javac.util.Log;
import com.sun.tools.javac.util.Names;
+
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
+import java.util.Locale;
import java.util.function.Supplier;
import java.util.logging.Level;
import java.util.logging.Logger;
+
import javax.tools.JavaFileObject;
/**
@@ -44,9 +47,7 @@ import javax.tools.JavaFileObject;
public class NBClassFinder extends ClassFinder {
public static void preRegister(Context context) {
- context.put(
- classFinderKey,
- (Context.Factory) NBClassFinder::new);
+ context.put(classFinderKey, (Context.Factory) NBClassFinder::new);
}
private final Context context;
@@ -64,7 +65,7 @@ public class NBClassFinder extends ClassFinder {
@Override
protected JavaFileObject preferredFileObject(JavaFileObject a, JavaFileObject b) {
- if (b.getName().toLowerCase().endsWith(".sig")) {
+ if (b.getName().toLowerCase(Locale.ROOT).endsWith(".sig")) {
// do not prefer sources over sig files (unless sources are newer):
boolean prevPreferSource = preferSource;
try {
diff --git a/lsp/java/src/main/res/values/strings.xml b/lsp/java/src/main/res/values/strings.xml
index 05a78ceba..e273156ff 100644
--- a/lsp/java/src/main/res/values/strings.xml
+++ b/lsp/java/src/main/res/values/strings.xml
@@ -15,7 +15,7 @@
~ along with AndroidIDE. If not, see .
-->
-
+Import class(es)Generate setters/gettersAdd \'throws\'
diff --git a/lsp/java/src/test/java/com/itsaky/lsp/java/providers/JavaCompletionProviderTest.kt b/lsp/java/src/test/java/com/itsaky/lsp/java/providers/JavaCompletionProviderTest.kt
index 2b0b63e3d..44694ffd6 100644
--- a/lsp/java/src/test/java/com/itsaky/lsp/java/providers/JavaCompletionProviderTest.kt
+++ b/lsp/java/src/test/java/com/itsaky/lsp/java/providers/JavaCompletionProviderTest.kt
@@ -77,7 +77,7 @@ class JavaCompletionProviderTest : BaseJavaTest() {
}
private fun completionTitles(pos: Position): List {
- return mServer.completionProvider.complete(CompletionParams(pos, file!!)).items.map {
+ return mServer.completionProvider.complete(CompletionParams(pos, file!!).apply { prefix = "" }).items.map {
it.label
}
}
diff --git a/lsp/testing/build.gradle b/lsp/testing/build.gradle
index ce640a1a3..dd9d32479 100644
--- a/lsp/testing/build.gradle
+++ b/lsp/testing/build.gradle
@@ -33,10 +33,15 @@ android {
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
+
compileOptions {
sourceCompatibility rootProject.ext.javaSourceVersion
targetCompatibility rootProject.ext.javaTargetVersion
}
+
+ kotlinOptions {
+ jvmTarget = "11"
+ }
}
dependencies {
diff --git a/lsp/testing/src/main/java/com/itsaky/lsp/api/LanguageServerProvider.kt b/lsp/testing/src/main/java/com/itsaky/lsp/api/LanguageServerProvider.kt
index 636b515c0..f9341d00e 100644
--- a/lsp/testing/src/main/java/com/itsaky/lsp/api/LanguageServerProvider.kt
+++ b/lsp/testing/src/main/java/com/itsaky/lsp/api/LanguageServerProvider.kt
@@ -20,8 +20,8 @@ import com.google.common.truth.Truth.assertThat
import com.itsaky.androidide.utils.Environment
import com.itsaky.lsp.api.FileProvider.Companion.resources
import com.itsaky.lsp.models.InitializeParams
-import java.io.File
import org.jetbrains.annotations.Contract
+import java.io.File
/**
* Provides instance to the java language server to test classes.
@@ -53,6 +53,6 @@ abstract class LanguageServerProvider {
@Contract(" -> new")
private fun createInitParams(): InitializeParams {
- return InitializeParams(setOf(resources()))
+ return InitializeParams(mutableSetOf(resources()))
}
}
diff --git a/lsp/testing/src/main/java/com/itsaky/lsp/api/LoggingTest.kt b/lsp/testing/src/main/java/com/itsaky/lsp/api/LoggingTest.kt
index c05253f57..ed3de53a4 100644
--- a/lsp/testing/src/main/java/com/itsaky/lsp/api/LoggingTest.kt
+++ b/lsp/testing/src/main/java/com/itsaky/lsp/api/LoggingTest.kt
@@ -17,6 +17,7 @@
package com.itsaky.lsp.api
import com.itsaky.androidide.utils.ILogger
+import com.itsaky.androidide.utils.ILogger.Priority
import com.itsaky.lsp.api.util.ReflectiveLogListener
import java.util.*
@@ -28,21 +29,21 @@ import java.util.*
abstract class LoggingTest : BaseLanguageServerTest() {
companion object {
private var logListener: ReflectiveLogListener? = null
-
+
init {
logListener = ReflectiveLogListener(LoggingTest::class.java)
ILogger.addLogListener(logListener)
}
-
+
@Suppress("unused")
@JvmStatic
- fun log(priority: Int, tag: String, message: String) {
- System.out.printf(Locale.ROOT, "%-8s%-26s%-20s", ILogger.priorityText(priority), tag, message)
+ fun log(priority: Priority, tag: String, message: String) {
+ System.out.printf(Locale.ROOT, "%-8s%-26s%-20s", priority, tag, message)
println()
}
}
-
+
@Suppress("PropertyName")
@JvmField
protected val LOG = ILogger.newInstance(javaClass.simpleName)
-}
\ No newline at end of file
+}
diff --git a/lsp/xml/build.gradle b/lsp/xml/build.gradle
index 22ed2d806..114ff0b57 100644
--- a/lsp/xml/build.gradle
+++ b/lsp/xml/build.gradle
@@ -41,6 +41,10 @@ android {
targetCompatibility rootProject.ext.javaTargetVersion
}
+ kotlinOptions {
+ jvmTarget = "11"
+ }
+
testOptions {
unitTests {
includeAndroidResources = true
diff --git a/lsp/xml/src/test/java/com/itsaky/lsp/xml/providers/XMLCompletionProviderTest.kt b/lsp/xml/src/test/java/com/itsaky/lsp/xml/providers/XMLCompletionProviderTest.kt
index fc67863ba..7c641df93 100644
--- a/lsp/xml/src/test/java/com/itsaky/lsp/xml/providers/XMLCompletionProviderTest.kt
+++ b/lsp/xml/src/test/java/com/itsaky/lsp/xml/providers/XMLCompletionProviderTest.kt
@@ -37,7 +37,7 @@ class XMLCompletionProviderTest : BaseXMLTest() {
val (isIncomplete, items) = complete()
- assertThat(isIncomplete).isTrue()
+ assertThat(isIncomplete).isFalse()
assertThat(items).isNotEmpty()
assertThat(items).containsAtLeast("ImageView", "ImageButton")
diff --git a/sdk-info/build.gradle b/sdk-info/build.gradle
index 2f4b2b454..cae8d62db 100755
--- a/sdk-info/build.gradle
+++ b/sdk-info/build.gradle
@@ -27,6 +27,8 @@ dependencies {
implementation common.jsoup
implementation androidx.annotation
+ implementation androidx.appcompat
+ implementation google.material
compileOnly project(":common")
}
diff --git a/sdk-info/src/main/java/com/itsaky/apiinfo/ApiInfo.java b/sdk-info/src/main/java/com/itsaky/apiinfo/ApiInfo.java
index 078739083..d439708d7 100755
--- a/sdk-info/src/main/java/com/itsaky/apiinfo/ApiInfo.java
+++ b/sdk-info/src/main/java/com/itsaky/apiinfo/ApiInfo.java
@@ -24,6 +24,7 @@ import androidx.annotation.NonNull;
import com.itsaky.apiinfo.models.ClassInfo;
import com.itsaky.apiinfo.models.FieldInfo;
import com.itsaky.apiinfo.models.MethodInfo;
+import com.itsaky.sdkinfo.R;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
@@ -56,7 +57,7 @@ public class ApiInfo {
}
public void doRead(Resources resources) throws Exception {
- final InputStream in = resources.openRawResource(com.itsaky.sdkinfo.R.raw.versions);
+ final InputStream in = resources.openRawResource(R.raw.versions_xml);
if (in == null) {
throw new Resources.NotFoundException("Cannot find versions.xml");
}
diff --git a/sdk-info/src/main/java/com/itsaky/attrinfo/AttrInfo.java b/sdk-info/src/main/java/com/itsaky/attrinfo/AttrInfo.java
index 3caf34362..d19691e18 100755
--- a/sdk-info/src/main/java/com/itsaky/attrinfo/AttrInfo.java
+++ b/sdk-info/src/main/java/com/itsaky/attrinfo/AttrInfo.java
@@ -57,7 +57,7 @@ public class AttrInfo {
Objects.requireNonNull(resources, "Cannot read from null resources.");
- final var in = resources.openRawResource(R.raw.attrs);
+ final var in = resources.openRawResource(R.raw.attrs_xml);
parseFromStream(in);
}
diff --git a/sdk-info/src/main/res/raw/attrs.xml b/sdk-info/src/main/res/raw/attrs_xml.txt
similarity index 100%
rename from sdk-info/src/main/res/raw/attrs.xml
rename to sdk-info/src/main/res/raw/attrs_xml.txt
diff --git a/sdk-info/src/main/res/raw/versions.xml b/sdk-info/src/main/res/raw/versions_xml.txt
similarity index 100%
rename from sdk-info/src/main/res/raw/versions.xml
rename to sdk-info/src/main/res/raw/versions_xml.txt
diff --git a/treeview/src/main/java/com/unnamed/b/atv/view/TreeNodeWrapperView.java b/treeview/src/main/java/com/unnamed/b/atv/view/TreeNodeWrapperView.java
index 610956810..6672b30a9 100755
--- a/treeview/src/main/java/com/unnamed/b/atv/view/TreeNodeWrapperView.java
+++ b/treeview/src/main/java/com/unnamed/b/atv/view/TreeNodeWrapperView.java
@@ -1,5 +1,6 @@
package com.unnamed.b.atv.view;
+import android.annotation.SuppressLint;
import android.content.Context;
import android.view.ContextThemeWrapper;
import android.view.View;
@@ -10,6 +11,7 @@ import android.widget.RelativeLayout;
import com.unnamed.b.atv.R;
/** Created by Bogdan Melnychuk on 2/10/15. */
+@SuppressLint("ViewConstructor")
public class TreeNodeWrapperView extends LinearLayout {
private LinearLayout nodeItemsContainer;
private ViewGroup nodeContainer;
diff --git a/treeview/src/main/java/com/unnamed/b/atv/view/TwoDScrollView.java b/treeview/src/main/java/com/unnamed/b/atv/view/TwoDScrollView.java
index 52c775324..2b0bcb4f0 100755
--- a/treeview/src/main/java/com/unnamed/b/atv/view/TwoDScrollView.java
+++ b/treeview/src/main/java/com/unnamed/b/atv/view/TwoDScrollView.java
@@ -1,5 +1,6 @@
package com.unnamed.b.atv.view;
+import android.annotation.SuppressLint;
import android.content.Context;
import android.graphics.Rect;
import android.util.AttributeSet;
@@ -349,6 +350,7 @@ public class TwoDScrollView extends FrameLayout {
return mIsBeingDragged;
}
+ @SuppressLint("ClickableViewAccessibility")
@Override
public boolean onTouchEvent(MotionEvent ev) {
diff --git a/treeview/src/main/res/values/styles.xml b/treeview/src/main/res/values/styles.xml
deleted file mode 100755
index 277b3558a..000000000
--- a/treeview/src/main/res/values/styles.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
diff --git a/xml-inflater/build.gradle b/xml-inflater/build.gradle
index eef2c9d74..0eab846a7 100644
--- a/xml-inflater/build.gradle
+++ b/xml-inflater/build.gradle
@@ -15,6 +15,10 @@ android {
targetCompatibility rootProject.ext.javaTargetVersion
}
+ kotlinOptions {
+ jvmTarget = "11"
+ }
+
buildTypes {
release {
minifyEnabled true
@@ -35,4 +39,4 @@ dependencies {
implementation project (":common")
api project (':sdk-info')
-}
+}
\ No newline at end of file
diff --git a/xml-inflater/src/main/java/com/sdsmdg/harjot/vectormaster/VectorMasterView.java b/xml-inflater/src/main/java/com/sdsmdg/harjot/vectormaster/VectorMasterView.java
index 6ddf6b0b3..0d0b7010a 100644
--- a/xml-inflater/src/main/java/com/sdsmdg/harjot/vectormaster/VectorMasterView.java
+++ b/xml-inflater/src/main/java/com/sdsmdg/harjot/vectormaster/VectorMasterView.java
@@ -1,5 +1,6 @@
package com.sdsmdg.harjot.vectormaster;
+import android.annotation.SuppressLint;
import android.content.Context;
import android.content.res.Resources;
import android.content.res.TypedArray;
@@ -339,6 +340,7 @@ public class VectorMasterView extends View {
}
}
+ @SuppressLint("CanvasSize")
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
diff --git a/xml-inflater/src/main/res/values-de/strings.xml b/xml-inflater/src/main/res/values-de/strings.xml
index 161efc08f..be152d9f7 100644
--- a/xml-inflater/src/main/res/values-de/strings.xml
+++ b/xml-inflater/src/main/res/values-de/strings.xml
@@ -1,6 +1,5 @@
View kann nicht erstellt werden für: %s
- Werte können nicht ausgelesen werdenKeine Implementierung des Attributadapters gefunden für%sView %s ist noch nicht untestützt.
diff --git a/xml-inflater/src/main/res/values-fr/strings.xml b/xml-inflater/src/main/res/values-fr/strings.xml
index 22995ce19..5b89492c0 100644
--- a/xml-inflater/src/main/res/values-fr/strings.xml
+++ b/xml-inflater/src/main/res/values-fr/strings.xml
@@ -1,6 +1,5 @@
Impossible de créer une vue pour le tag: %s
- Impossible de lire les valeursAucun adaptation d\'attribut trouvé pour %sLa vue %s n\'est supportée pour le moment.
\ No newline at end of file
diff --git a/xml-inflater/src/main/res/values-hi/strings.xml b/xml-inflater/src/main/res/values-hi/strings.xml
index 31b06ff91..ebc6497e2 100644
--- a/xml-inflater/src/main/res/values-hi/strings.xml
+++ b/xml-inflater/src/main/res/values-hi/strings.xml
@@ -1,6 +1,5 @@
%s :टैग के लिए व्यू नहीं बना सकता
- वैल्यूज रीड करने में असमर्थ%s के लिए कोई अट्रीब्यूट एडाप्टर इंप्लीमेंटेशन नहीं मिलाव्यू %s वर्तमान में सपोर्टेड नहीं है।
diff --git a/xml-inflater/src/main/res/values-in/strings.xml b/xml-inflater/src/main/res/values-in/strings.xml
index 8f398cf1e..911a59c48 100644
--- a/xml-inflater/src/main/res/values-in/strings.xml
+++ b/xml-inflater/src/main/res/values-in/strings.xml
@@ -1,6 +1,5 @@
Tidak dapat membuat View untuk tag: %s
- Tidak dapat membaca isi (values)Tidak ditemukan implementasi adapter atribut untuk %sView %s saat ini tidak didukung.
diff --git a/xml-inflater/src/main/res/values-pt-rBR/strings.xml b/xml-inflater/src/main/res/values-pt-rBR/strings.xml
index 28e923c2f..b1685253c 100644
--- a/xml-inflater/src/main/res/values-pt-rBR/strings.xml
+++ b/xml-inflater/src/main/res/values-pt-rBR/strings.xml
@@ -1,6 +1,5 @@
Não é possível criar visualização para a tag: %s
- Não foi possível ler os valoresNenhuma implementação de adaptador de atributo encontrada para %sA visualização %s não é suportada atualmente.
diff --git a/xml-inflater/src/main/res/values-ru/strings.xml b/xml-inflater/src/main/res/values-ru/strings.xml
index 29bce7daf..198ff79b2 100644
--- a/xml-inflater/src/main/res/values-ru/strings.xml
+++ b/xml-inflater/src/main/res/values-ru/strings.xml
@@ -17,7 +17,6 @@
Не удается создать представление для тега: %s
- Невозможно прочитать значенияНе найдена реализация адаптера атрибутов для %sПросмотр %s в настоящее время не поддерживается.
\ No newline at end of file
diff --git a/xml-inflater/src/main/res/values-zh/strings.xml b/xml-inflater/src/main/res/values-zh/strings.xml
index ed207b183..b98dac29e 100644
--- a/xml-inflater/src/main/res/values-zh/strings.xml
+++ b/xml-inflater/src/main/res/values-zh/strings.xml
@@ -1,6 +1,5 @@
无法为标签 %s 创建视图
- Unable to read values未找到可用于 %s 的属性适配器控件 %s 当前不受支持
\ No newline at end of file
diff --git a/xml-inflater/src/main/res/values/strings.xml b/xml-inflater/src/main/res/values/strings.xml
index 5ea6d35a5..ec1bbbd35 100644
--- a/xml-inflater/src/main/res/values/strings.xml
+++ b/xml-inflater/src/main/res/values/strings.xml
@@ -1,6 +1,5 @@
Cannot create view for tag: %s
- Unable to read valuesNo attribute adapter implementation found for %sView %s is not supported currently.