diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml index b90f13f3..561f55fe 100644 --- a/.github/workflows/maven.yml +++ b/.github/workflows/maven.yml @@ -14,7 +14,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - java: [ '8', '11', '16' ] # All currently supported versions + java: [ '8', '11', '17-ea' ] # LTS versions steps: - uses: actions/checkout@v2 @@ -22,7 +22,7 @@ jobs: uses: actions/setup-java@v2 with: java-version: ${{ matrix.java }} - distribution: 'adopt' + distribution: 'temurin' - name: Build with Maven run: mvn -B package --file pom.xml - name: Extract Maven project version diff --git a/libs/README.md b/libs/README.md index 504e763d..8112e98b 100644 --- a/libs/README.md +++ b/libs/README.md @@ -19,5 +19,6 @@ Some dependencies may have been modified or could be released by their author in #### Modifications + - `ByteAnalysis`: Compiled from source with the newest dependency versions + - `APKTool`: Added the `apktool-cli` subproject, compiled without changes from source - `JD-GUI`: Removed ASM, RSyntaxTextArea, ANTLR, and TreeLayout - - `APKTool`: Recompiled with the newest dependency versions, removed prebuilt folder diff --git a/libs/org/apktool/apktool-cli/2.6.0/apktool-cli-2.6.0.jar b/libs/org/apktool/apktool-cli/2.6.0/apktool-cli-2.6.0.jar new file mode 100644 index 00000000..556872cc Binary files /dev/null and b/libs/org/apktool/apktool-cli/2.6.0/apktool-cli-2.6.0.jar differ diff --git a/libs/org/apktool/apktool-cli/2.6.0/apktool-cli-2.6.0.jar.md5 b/libs/org/apktool/apktool-cli/2.6.0/apktool-cli-2.6.0.jar.md5 new file mode 100644 index 00000000..45d4fc3d --- /dev/null +++ b/libs/org/apktool/apktool-cli/2.6.0/apktool-cli-2.6.0.jar.md5 @@ -0,0 +1 @@ +92750a855f488f5b90b4ee75352d53cc \ No newline at end of file diff --git a/libs/org/apktool/apktool-cli/2.6.0/apktool-cli-2.6.0.jar.sha1 b/libs/org/apktool/apktool-cli/2.6.0/apktool-cli-2.6.0.jar.sha1 new file mode 100644 index 00000000..efa647e2 --- /dev/null +++ b/libs/org/apktool/apktool-cli/2.6.0/apktool-cli-2.6.0.jar.sha1 @@ -0,0 +1 @@ +f84f12d4a024aa00fa314229c748c971c984f8ae \ No newline at end of file diff --git a/libs/org/apktool/apktool/2.5.0bcv2/apktool-2.5.0bcv2.pom b/libs/org/apktool/apktool-cli/2.6.0/apktool-cli-2.6.0.pom similarity index 83% rename from libs/org/apktool/apktool/2.5.0bcv2/apktool-2.5.0bcv2.pom rename to libs/org/apktool/apktool-cli/2.6.0/apktool-cli-2.6.0.pom index 8e9dd343..8501e901 100644 --- a/libs/org/apktool/apktool/2.5.0bcv2/apktool-2.5.0bcv2.pom +++ b/libs/org/apktool/apktool-cli/2.6.0/apktool-cli-2.6.0.pom @@ -3,6 +3,6 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 4.0.0 org.apktool - apktool - 2.5.0bcv2 + apktool-cli + 2.6.0 diff --git a/libs/org/apktool/apktool-cli/2.6.0/apktool-cli-2.6.0.pom.md5 b/libs/org/apktool/apktool-cli/2.6.0/apktool-cli-2.6.0.pom.md5 new file mode 100644 index 00000000..8d7a1c84 --- /dev/null +++ b/libs/org/apktool/apktool-cli/2.6.0/apktool-cli-2.6.0.pom.md5 @@ -0,0 +1 @@ +32d7606cd2e4eb5ec99cf13a1f623a2c \ No newline at end of file diff --git a/libs/org/apktool/apktool-cli/2.6.0/apktool-cli-2.6.0.pom.sha1 b/libs/org/apktool/apktool-cli/2.6.0/apktool-cli-2.6.0.pom.sha1 new file mode 100644 index 00000000..6e5d5881 --- /dev/null +++ b/libs/org/apktool/apktool-cli/2.6.0/apktool-cli-2.6.0.pom.sha1 @@ -0,0 +1 @@ +b7c5e3e3a20e7601b18d45f594ecaf0d31e0047c \ No newline at end of file diff --git a/libs/org/apktool/apktool/maven-metadata.xml b/libs/org/apktool/apktool-cli/maven-metadata.xml similarity index 51% rename from libs/org/apktool/apktool/maven-metadata.xml rename to libs/org/apktool/apktool-cli/maven-metadata.xml index 25ecaadd..913576ca 100644 --- a/libs/org/apktool/apktool/maven-metadata.xml +++ b/libs/org/apktool/apktool-cli/maven-metadata.xml @@ -1,12 +1,12 @@ org.apktool - apktool + apktool-cli - 2.5.0bcv2 + 2.6.0 - 2.5.0bcv2 + 2.6.0 - 20210622201718 + 20210916084410 diff --git a/libs/org/apktool/apktool-cli/maven-metadata.xml.md5 b/libs/org/apktool/apktool-cli/maven-metadata.xml.md5 new file mode 100644 index 00000000..9388c8f8 --- /dev/null +++ b/libs/org/apktool/apktool-cli/maven-metadata.xml.md5 @@ -0,0 +1 @@ +5cf5e3c60d76f6bc05317852c0dee46c \ No newline at end of file diff --git a/libs/org/apktool/apktool-cli/maven-metadata.xml.sha1 b/libs/org/apktool/apktool-cli/maven-metadata.xml.sha1 new file mode 100644 index 00000000..65e6a541 --- /dev/null +++ b/libs/org/apktool/apktool-cli/maven-metadata.xml.sha1 @@ -0,0 +1 @@ +33442f1de71c010486efa6d68d221cecd8bf185e \ No newline at end of file diff --git a/libs/org/apktool/apktool/2.5.0bcv2/apktool-2.5.0bcv2.jar b/libs/org/apktool/apktool/2.5.0bcv2/apktool-2.5.0bcv2.jar deleted file mode 100644 index 050dfbb2..00000000 Binary files a/libs/org/apktool/apktool/2.5.0bcv2/apktool-2.5.0bcv2.jar and /dev/null differ diff --git a/libs/org/apktool/apktool/2.5.0bcv2/apktool-2.5.0bcv2.jar.md5 b/libs/org/apktool/apktool/2.5.0bcv2/apktool-2.5.0bcv2.jar.md5 deleted file mode 100644 index bc05e1d4..00000000 --- a/libs/org/apktool/apktool/2.5.0bcv2/apktool-2.5.0bcv2.jar.md5 +++ /dev/null @@ -1 +0,0 @@ -7d96a4ccc7289d0f0f476c618a6315a8 \ No newline at end of file diff --git a/libs/org/apktool/apktool/2.5.0bcv2/apktool-2.5.0bcv2.jar.sha1 b/libs/org/apktool/apktool/2.5.0bcv2/apktool-2.5.0bcv2.jar.sha1 deleted file mode 100644 index 66e6dd8a..00000000 --- a/libs/org/apktool/apktool/2.5.0bcv2/apktool-2.5.0bcv2.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -f3aad98eee64a34566ae6b971b59a3fb27c897a5 \ No newline at end of file diff --git a/libs/org/apktool/apktool/2.5.0bcv2/apktool-2.5.0bcv2.pom.md5 b/libs/org/apktool/apktool/2.5.0bcv2/apktool-2.5.0bcv2.pom.md5 deleted file mode 100644 index a387559b..00000000 --- a/libs/org/apktool/apktool/2.5.0bcv2/apktool-2.5.0bcv2.pom.md5 +++ /dev/null @@ -1 +0,0 @@ -f13d5769cd41299e8727973044de6326 \ No newline at end of file diff --git a/libs/org/apktool/apktool/2.5.0bcv2/apktool-2.5.0bcv2.pom.sha1 b/libs/org/apktool/apktool/2.5.0bcv2/apktool-2.5.0bcv2.pom.sha1 deleted file mode 100644 index 78ff89b0..00000000 --- a/libs/org/apktool/apktool/2.5.0bcv2/apktool-2.5.0bcv2.pom.sha1 +++ /dev/null @@ -1 +0,0 @@ -8750ebdb9af548b87d7f4597f65ca49262de7033 \ No newline at end of file diff --git a/libs/org/apktool/apktool/maven-metadata.xml.md5 b/libs/org/apktool/apktool/maven-metadata.xml.md5 deleted file mode 100644 index 8f156188..00000000 --- a/libs/org/apktool/apktool/maven-metadata.xml.md5 +++ /dev/null @@ -1 +0,0 @@ -04af915c4a9139dff66855fe769239f1 \ No newline at end of file diff --git a/libs/org/apktool/apktool/maven-metadata.xml.sha1 b/libs/org/apktool/apktool/maven-metadata.xml.sha1 deleted file mode 100644 index 153be995..00000000 --- a/libs/org/apktool/apktool/maven-metadata.xml.sha1 +++ /dev/null @@ -1 +0,0 @@ -1f365a9ab11f7213c747f379cf8d4220dc1b7fab \ No newline at end of file diff --git a/pom.xml b/pom.xml index e1c2c6c9..8e81b994 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ 22.0.0 - 2.5.0bcv2 + 2.6.0 9.2 0.2.0 0.151 @@ -77,9 +77,20 @@ org.apktool - apktool + apktool-cli ${apktool.version} + + org.apktool + apktool-lib + ${apktool.version} + + + org.yaml + snakeyaml + + + org.ow2.asm asm @@ -360,6 +371,7 @@ ${java.version} ${java.version} + true diff --git a/src/main/java/the/bytecode/club/bytecodeviewer/GlobalHotKeys.java b/src/main/java/the/bytecode/club/bytecodeviewer/GlobalHotKeys.java index 3bd050b2..d76d8852 100644 --- a/src/main/java/the/bytecode/club/bytecodeviewer/GlobalHotKeys.java +++ b/src/main/java/the/bytecode/club/bytecodeviewer/GlobalHotKeys.java @@ -44,7 +44,7 @@ public class GlobalHotKeys //CTRL + O //open resource - if ((e.getKeyCode() == KeyEvent.VK_O) && ((e.getModifiers() & KeyEvent.CTRL_MASK) != 0)) + if ((e.getKeyCode() == KeyEvent.VK_O) && ((e.getModifiersEx() & KeyEvent.CTRL_DOWN_MASK) != 0)) { Configuration.lastHotKeyExecuted = System.currentTimeMillis(); @@ -62,7 +62,7 @@ public class GlobalHotKeys //CTRL + N //new workspace - else if ((e.getKeyCode() == KeyEvent.VK_N) && ((e.getModifiers() & KeyEvent.CTRL_MASK) != 0)) + else if ((e.getKeyCode() == KeyEvent.VK_N) && ((e.getModifiersEx() & KeyEvent.CTRL_DOWN_MASK) != 0)) { Configuration.lastHotKeyExecuted = System.currentTimeMillis(); BytecodeViewer.resetWorkspace(true); @@ -70,7 +70,7 @@ public class GlobalHotKeys //CTRL + T //compile - else if ((e.getKeyCode() == KeyEvent.VK_T) && ((e.getModifiers() & KeyEvent.CTRL_MASK) != 0)) + else if ((e.getKeyCode() == KeyEvent.VK_T) && ((e.getModifiersEx() & KeyEvent.CTRL_DOWN_MASK) != 0)) { Configuration.lastHotKeyExecuted = System.currentTimeMillis(); Thread t = new Thread(() -> BytecodeViewer.compile(true, false), "Compile"); @@ -79,7 +79,7 @@ public class GlobalHotKeys //CTRL + R //Run remote code - else if ((e.getKeyCode() == KeyEvent.VK_R) && ((e.getModifiers() & KeyEvent.CTRL_MASK) != 0)) + else if ((e.getKeyCode() == KeyEvent.VK_R) && ((e.getModifiersEx() & KeyEvent.CTRL_DOWN_MASK) != 0)) { Configuration.lastHotKeyExecuted = System.currentTimeMillis(); @@ -91,7 +91,7 @@ public class GlobalHotKeys //CTRL + S //Export resources - else if ((e.getKeyCode() == KeyEvent.VK_S) && ((e.getModifiers() & KeyEvent.CTRL_MASK) != 0)) + else if ((e.getKeyCode() == KeyEvent.VK_S) && ((e.getModifiersEx() & KeyEvent.CTRL_DOWN_MASK) != 0)) { Configuration.lastHotKeyExecuted = System.currentTimeMillis(); @@ -137,7 +137,7 @@ public class GlobalHotKeys //CTRL + W //close active resource (currently opened tab) - else if ((e.getKeyCode() == KeyEvent.VK_W) && ((e.getModifiers() & KeyEvent.CTRL_MASK) != 0)) + else if ((e.getKeyCode() == KeyEvent.VK_W) && ((e.getModifiersEx() & KeyEvent.CTRL_DOWN_MASK) != 0)) { Configuration.lastHotKeyExecuted = System.currentTimeMillis(); @@ -147,7 +147,7 @@ public class GlobalHotKeys //CTRL + L //open last opened resource - else if ((e.getKeyCode() == KeyEvent.VK_L) && ((e.getModifiers() & KeyEvent.CTRL_MASK) != 0)) + else if ((e.getKeyCode() == KeyEvent.VK_L) && ((e.getModifiersEx() & KeyEvent.CTRL_DOWN_MASK) != 0)) { Configuration.lastHotKeyExecuted = System.currentTimeMillis(); diff --git a/src/main/java/the/bytecode/club/bytecodeviewer/api/ExceptionUI.java b/src/main/java/the/bytecode/club/bytecodeviewer/api/ExceptionUI.java index 088e2593..c381b48c 100644 --- a/src/main/java/the/bytecode/club/bytecodeviewer/api/ExceptionUI.java +++ b/src/main/java/the/bytecode/club/bytecodeviewer/api/ExceptionUI.java @@ -134,8 +134,8 @@ public class ExceptionUI extends JFrameConsole { String fatJar = FAT_JAR ? " [Fat Jar]" : ""; - return TranslatedStrings.PLEASE_SEND_THIS_ERROR_LOG_TO.toString() + " " + author + - "\n" + TranslatedStrings.PLEASE_SEND_RESOURCES.toString() + + return TranslatedStrings.PLEASE_SEND_THIS_ERROR_LOG_TO + " " + author + + "\n" + TranslatedStrings.PLEASE_SEND_RESOURCES + "\nBytecode Viewer Version: " + VERSION + fatJar + ", OS: " + System.getProperty("os.name") + ", Java: " + System.getProperty("java.version"); diff --git a/src/main/java/the/bytecode/club/bytecodeviewer/decompilers/impl/JavapDisassembler.java b/src/main/java/the/bytecode/club/bytecodeviewer/decompilers/impl/JavapDisassembler.java index 695829f5..23dce962 100644 --- a/src/main/java/the/bytecode/club/bytecodeviewer/decompilers/impl/JavapDisassembler.java +++ b/src/main/java/the/bytecode/club/bytecodeviewer/decompilers/impl/JavapDisassembler.java @@ -12,6 +12,7 @@ import the.bytecode.club.bytecodeviewer.Constants; import the.bytecode.club.bytecodeviewer.decompilers.InternalDecompiler; import the.bytecode.club.bytecodeviewer.gui.components.JFrameConsolePrintStream; import the.bytecode.club.bytecodeviewer.resources.ExternalResources; +import the.bytecode.club.bytecodeviewer.translation.TranslatedStrings; import the.bytecode.club.bytecodeviewer.util.MiscUtils; import static the.bytecode.club.bytecodeviewer.Constants.fs; @@ -75,7 +76,6 @@ public class JavapDisassembler extends InternalDecompiler //setup reflection Class javap = child.loadClass("com.sun.tools.javap.Main"); Method main = javap.getMethod("main", String[].class); - Object cl = javap.newInstance(); //pipe sys out sysOutBuffer = new JFrameConsolePrintStream("", false); @@ -84,13 +84,17 @@ public class JavapDisassembler extends InternalDecompiler BytecodeViewer.sm.silenceExec(true); //invoke Javap - main.invoke(cl, (Object) new String[]{ + main.invoke(null, (Object) new String[]{ "-p", //Shows all classes and members "-c", //Prints out disassembled code //"-l", //Prints out line and local variable tables "-constants", //Shows static final constants tempClass.getAbsolutePath()}); } + catch (IllegalAccessException e) + { + return TranslatedStrings.ILLEGAL_ACCESS_ERROR.toString(); + } catch (Exception e) { e.printStackTrace(); diff --git a/src/main/java/the/bytecode/club/bytecodeviewer/gui/components/ExtendedJOptionPane.java b/src/main/java/the/bytecode/club/bytecodeviewer/gui/components/ExtendedJOptionPane.java index 3b9b0dd5..c845b287 100644 --- a/src/main/java/the/bytecode/club/bytecodeviewer/gui/components/ExtendedJOptionPane.java +++ b/src/main/java/the/bytecode/club/bytecodeviewer/gui/components/ExtendedJOptionPane.java @@ -215,7 +215,7 @@ public class ExtendedJOptionPane else dialog.setLocationRelativeTo(BytecodeViewer.viewer); - dialog.show(); + dialog.setVisible(true); dialog.dispose(); return dialog; diff --git a/src/main/java/the/bytecode/club/bytecodeviewer/gui/components/SearchableJTextArea.java b/src/main/java/the/bytecode/club/bytecodeviewer/gui/components/SearchableJTextArea.java index 586ab755..e26d042b 100644 --- a/src/main/java/the/bytecode/club/bytecodeviewer/gui/components/SearchableJTextArea.java +++ b/src/main/java/the/bytecode/club/bytecodeviewer/gui/components/SearchableJTextArea.java @@ -82,7 +82,7 @@ public class SearchableJTextArea extends JTextArea addKeyListener(new PressKeyListener(keyEvent -> { - if ((keyEvent.getKeyCode() == KeyEvent.VK_F) && ((keyEvent.getModifiers() & KeyEvent.CTRL_MASK) != 0)) + if ((keyEvent.getKeyCode() == KeyEvent.VK_F) && ((keyEvent.getModifiersEx() & KeyEvent.CTRL_DOWN_MASK) != 0)) searchInput.requestFocus(); GlobalHotKeys.keyPressed(keyEvent); diff --git a/src/main/java/the/bytecode/club/bytecodeviewer/gui/components/SearchableRSyntaxTextArea.java b/src/main/java/the/bytecode/club/bytecodeviewer/gui/components/SearchableRSyntaxTextArea.java index c9c1aedc..ae88d89b 100644 --- a/src/main/java/the/bytecode/club/bytecodeviewer/gui/components/SearchableRSyntaxTextArea.java +++ b/src/main/java/the/bytecode/club/bytecodeviewer/gui/components/SearchableRSyntaxTextArea.java @@ -108,10 +108,10 @@ public class SearchableRSyntaxTextArea extends RSyntaxTextArea addKeyListener(new PressKeyListener(keyEvent -> { - if ((keyEvent.getKeyCode() == KeyEvent.VK_F) && ((keyEvent.getModifiers() & KeyEvent.CTRL_MASK) != 0)) + if ((keyEvent.getKeyCode() == KeyEvent.VK_F) && ((keyEvent.getModifiersEx() & KeyEvent.CTRL_DOWN_MASK) != 0)) searchInput.requestFocus(); - if (onCtrlS != null && (keyEvent.getKeyCode() == KeyEvent.VK_S) && ((keyEvent.getModifiers() & KeyEvent.CTRL_MASK) != 0)) + if (onCtrlS != null && (keyEvent.getKeyCode() == KeyEvent.VK_S) && ((keyEvent.getModifiersEx() & KeyEvent.CTRL_DOWN_MASK) != 0)) { onCtrlS.run(); return; diff --git a/src/main/java/the/bytecode/club/bytecodeviewer/gui/resourceviewer/TabbedPane.java b/src/main/java/the/bytecode/club/bytecodeviewer/gui/resourceviewer/TabbedPane.java index d205aa7f..52171c52 100644 --- a/src/main/java/the/bytecode/club/bytecodeviewer/gui/resourceviewer/TabbedPane.java +++ b/src/main/java/the/bytecode/club/bytecodeviewer/gui/resourceviewer/TabbedPane.java @@ -101,7 +101,7 @@ public class TabbedPane extends JPanel exitButton.setComponentPopupMenu(rightClickMenu); exitButton.addMouseListener(new MouseClickedListener(e -> { - if (e.getModifiers() != InputEvent.ALT_MASK || System.currentTimeMillis() - lastMouseClick < 100) + if (e.getModifiersEx() != InputEvent.ALT_DOWN_MASK || System.currentTimeMillis() - lastMouseClick < 100) return; lastMouseClick = System.currentTimeMillis(); diff --git a/src/main/java/the/bytecode/club/bytecodeviewer/plugin/preinstalled/EZInjection.java b/src/main/java/the/bytecode/club/bytecodeviewer/plugin/preinstalled/EZInjection.java index 9b8bce85..e7699572 100644 --- a/src/main/java/the/bytecode/club/bytecodeviewer/plugin/preinstalled/EZInjection.java +++ b/src/main/java/the/bytecode/club/bytecodeviewer/plugin/preinstalled/EZInjection.java @@ -299,7 +299,7 @@ public class EZInjection extends Plugin if(kit != null) kit.setVisible(true); - m2.invoke(classNode.getClass().newInstance(), (Object[]) new String[1]); + m2.invoke(classNode.getClass().getDeclaredConstructor().newInstance(), (Object[]) new String[1]); print("Finished running " + invokeMethodInformation); } diff --git a/src/main/java/the/bytecode/club/bytecodeviewer/plugin/strategies/CompiledJavaPluginLaunchStrategy.java b/src/main/java/the/bytecode/club/bytecodeviewer/plugin/strategies/CompiledJavaPluginLaunchStrategy.java index 7290ec92..110f76b5 100644 --- a/src/main/java/the/bytecode/club/bytecodeviewer/plugin/strategies/CompiledJavaPluginLaunchStrategy.java +++ b/src/main/java/the/bytecode/club/bytecodeviewer/plugin/strategies/CompiledJavaPluginLaunchStrategy.java @@ -61,7 +61,7 @@ public class CompiledJavaPluginLaunchStrategy implements PluginLaunchStrategy { } LoadingClassLoader cl = new LoadingClassLoader(pdata, set); - Plugin p = cl.pluginKlass.newInstance(); + Plugin p = cl.pluginKlass.getDeclaredConstructor().newInstance(); LoadedPluginData npdata = new LoadedPluginData(pdata, cl, p); loaded.add(npdata); @@ -197,4 +197,4 @@ public class CompiledJavaPluginLaunchStrategy implements PluginLaunchStrategy { return pluginKlass; } } -} \ No newline at end of file +} diff --git a/src/main/java/the/bytecode/club/bytecodeviewer/plugin/strategies/JavaPluginLaunchStrategy.java b/src/main/java/the/bytecode/club/bytecodeviewer/plugin/strategies/JavaPluginLaunchStrategy.java index 17bf4009..a3db6b8a 100644 --- a/src/main/java/the/bytecode/club/bytecodeviewer/plugin/strategies/JavaPluginLaunchStrategy.java +++ b/src/main/java/the/bytecode/club/bytecodeviewer/plugin/strategies/JavaPluginLaunchStrategy.java @@ -51,6 +51,6 @@ public class JavaPluginLaunchStrategy implements PluginLaunchStrategy ); //create a new instance of the class - return (Plugin) clazz.newInstance(); + return (Plugin) clazz.getDeclaredConstructor().newInstance(); } -} \ No newline at end of file +} diff --git a/src/main/java/the/bytecode/club/bytecodeviewer/translation/TranslatedStrings.java b/src/main/java/the/bytecode/club/bytecodeviewer/translation/TranslatedStrings.java index 52a4ad1e..f056dea0 100644 --- a/src/main/java/the/bytecode/club/bytecodeviewer/translation/TranslatedStrings.java +++ b/src/main/java/the/bytecode/club/bytecodeviewer/translation/TranslatedStrings.java @@ -84,6 +84,7 @@ public enum TranslatedStrings PLEASE_SEND_THIS_ERROR_LOG_TO, PLEASE_SEND_RESOURCES, ONE_PLUGIN_AT_A_TIME, + ILLEGAL_ACCESS_ERROR, YES, diff --git a/src/main/resources/translations/english.json b/src/main/resources/translations/english.json index cf7aa961..64c5f1b3 100644 --- a/src/main/resources/translations/english.json +++ b/src/main/resources/translations/english.json @@ -263,6 +263,7 @@ "PLEASE_SEND_THIS_ERROR_LOG_TO": "Please send this error log to", "PLEASE_SEND_RESOURCES": "If you hold appropriate legal rights to the relevant class/jar/apk file please include that as well.", "ONE_PLUGIN_AT_A_TIME": "There is currently another plugin running right now, please wait for that to finish executing.", + "ILLEGAL_ACCESS_ERROR": "Please use Java 15 or older to do this.", "FILES": "Files", diff --git a/src/main/resources/translations/german.json b/src/main/resources/translations/german.json index 9f40eb6b..9df1caeb 100644 --- a/src/main/resources/translations/german.json +++ b/src/main/resources/translations/german.json @@ -255,5 +255,6 @@ "CLOSE_TAB": "Tab schließen", "PLEASE_SEND_THIS_ERROR_LOG_TO": "Bitte senden Sie dieses Fehlerprotokoll an", "PLEASE_SEND_RESOURCES": "Wenn Sie entsprechende gesetzliche Rechte an der jeweiligen Klasse besitzen", - "MIN_SDK_VERSION": "Minimale SDK-Version" + "MIN_SDK_VERSION": "Minimale SDK-Version", + "ILLEGAL_ACCESS_ERROR": "Bitte benutzen Sie Java 15 oder älter, um dies zu tun." }