From 60ece6456350954bc79bcda506e434c10b87ed18 Mon Sep 17 00:00:00 2001 From: involvex <39644169+involvex@users.noreply.github.com> Date: Tue, 6 Oct 2026 01:05:14 +0200 Subject: [PATCH 1/5] Changed: Rebrand fork for InVxTermux Package com.involvex.termux_app.window with sharedUserId com.involvex.termux_app, display name InVx:Float and Java package com.invapp.window. Depend on com.invapp:termux-shared/terminal-view 0.203.0 via mavenLocal. --- README.md | 11 ++++++-- app/build.gradle | 27 +++++++++---------- .../window/FloatingBubbleManager.java | 6 ++--- .../window/TermuxFloatActivity.java | 2 +- .../window/TermuxFloatApplication.java | 10 +++---- .../window/TermuxFloatPermissionActivity.java | 2 +- .../window/TermuxFloatService.java | 20 +++++++------- .../window/TermuxFloatSessionClient.java | 20 +++++++------- .../window/TermuxFloatView.java | 20 +++++++------- .../window/TermuxFloatViewClient.java | 14 +++++----- .../TermuxFloatAppSharedProperties.java | 8 +++--- app/src/main/res/layout/activity_main.xml | 6 ++--- app/src/main/res/values/strings.xml | 6 ++--- build.gradle | 2 +- 14 files changed, 80 insertions(+), 74 deletions(-) rename app/src/main/java/com/{termux => invapp}/window/FloatingBubbleManager.java (98%) rename app/src/main/java/com/{termux => invapp}/window/TermuxFloatActivity.java (94%) rename app/src/main/java/com/{termux => invapp}/window/TermuxFloatApplication.java (81%) rename app/src/main/java/com/{termux => invapp}/window/TermuxFloatPermissionActivity.java (97%) rename app/src/main/java/com/{termux => invapp}/window/TermuxFloatService.java (94%) rename app/src/main/java/com/{termux => invapp}/window/TermuxFloatSessionClient.java (93%) rename app/src/main/java/com/{termux => invapp}/window/TermuxFloatView.java (96%) rename app/src/main/java/com/{termux => invapp}/window/TermuxFloatViewClient.java (96%) rename app/src/main/java/com/{termux => invapp}/window/settings/properties/TermuxFloatAppSharedProperties.java (72%) diff --git a/README.md b/README.md index 469ae98..75e8a6f 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,13 @@ -# Termux:Float +# InVx:Float -[![Build status](https://github.com/termux/termux-float/workflows/Build/badge.svg)](https://github.com/termux/termux-float/actions) +> InVxTermux fork of [termux/termux-float](https://github.com/termux/termux-float). +> Package `com.involvex.termux_app.window`, `sharedUserId` `com.involvex.termux_app`. +> Install only alongside same-source InVxTermux APKs (matching test-key signature). +> Depends on `com.invapp:termux-shared/terminal-view:0.203.0` published locally from +> [involvex/termux-app](https://github.com/involvex/termux-app) via +> `./gradlew :terminal-view:publishReleasePublicationToMavenLocal :termux-shared:publishReleasePublicationToMavenLocal`. + +[![Build status](https://github.com/involvex/termux-float/workflows/Build/badge.svg)](https://github.com/involvex/termux-float/actions) [![Join the chat at https://gitter.im/termux/termux](https://badges.gitter.im/termux/termux.svg)](https://gitter.im/termux/termux) A [Termux] plugin app to show the terminal in a floating terminal window. diff --git a/app/build.gradle b/app/build.gradle index 432ba1f..1b71451 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,14 +1,14 @@ apply plugin: 'com.android.application' android { - namespace "com.termux.window" + namespace "com.involvex.termux_app.window" compileSdk project.properties.compileSdkVersion.toInteger() def appVersionName = System.getenv("TERMUX_FLOAT_APP__BUILD__APP_VERSION_NAME") ?: "" def apkVersionTag = System.getenv("TERMUX_FLOAT_APP__BUILD__APK_VERSION_TAG") ?: "" defaultConfig { - applicationId "com.termux.window" + applicationId "com.involvex.termux_app.window" minSdk project.properties.minSdkVersion.toInteger() targetSdk project.properties.targetSdkVersion.toInteger() versionCode 1001 @@ -17,9 +17,9 @@ android { if (appVersionName) versionName = appVersionName validateVersionName(versionName) - manifestPlaceholders.TERMUX_PACKAGE_NAME = "com.termux" - manifestPlaceholders.TERMUX_APP_NAME = "Termux" - manifestPlaceholders.TERMUX_FLOAT_APP_NAME = "Termux:Float" + manifestPlaceholders.TERMUX_PACKAGE_NAME = "com.involvex.termux_app" + manifestPlaceholders.TERMUX_APP_NAME = "InVxTermux" + manifestPlaceholders.TERMUX_FLOAT_APP_NAME = "InVx:Float" } signingConfigs { @@ -54,7 +54,7 @@ android { applicationVariants.all { variant -> variant.outputs.all { output -> - outputFileName = new File("termux-float-app_" + + outputFileName = new File("invx-float-app_" + (apkVersionTag ? apkVersionTag : "v" + versionName + "+" + variant.buildType.name) + ".apk") } } @@ -72,14 +72,13 @@ dependencies { implementation "androidx.annotation:annotation:1.9.1" - implementation "com.termux.termux-app:termux-shared:8aca6dbbf4" - implementation "com.termux.termux-app:terminal-view:8aca6dbbf4" - - // Use if below libraries are published locally by termux-app with `./gradlew publishReleasePublicationToMavenLocal` and used with `mavenLocal()`. - // If updates are done, republish there and sync project with gradle files here - // https://github.com/termux/termux-app/wiki/Termux-Libraries - //implementation "com.termux:termux-shared:0.118.0" - //implementation "com.termux:terminal-view:0.118.0" + // InVxTermux libraries published locally from involvex/termux-app with: + // ./gradlew :terminal-view:publishReleasePublicationToMavenLocal :termux-shared:publishReleasePublicationToMavenLocal + // Requires `mavenLocal()` in the root repositories block. Upstream used: + // implementation "com.termux.termux-app:termux-shared:8aca6dbbf4" + // implementation "com.termux.termux-app:terminal-view:8aca6dbbf4" + implementation "com.invapp:termux-shared:0.203.0" + implementation "com.invapp:terminal-view:0.203.0" implementation "com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava" } diff --git a/app/src/main/java/com/termux/window/FloatingBubbleManager.java b/app/src/main/java/com/invapp/window/FloatingBubbleManager.java similarity index 98% rename from app/src/main/java/com/termux/window/FloatingBubbleManager.java rename to app/src/main/java/com/invapp/window/FloatingBubbleManager.java index 31e8e58..5911356 100644 --- a/app/src/main/java/com/termux/window/FloatingBubbleManager.java +++ b/app/src/main/java/com/invapp/window/FloatingBubbleManager.java @@ -1,4 +1,4 @@ -package com.termux.window; +package com.invapp.window; import android.graphics.Outline; import android.graphics.drawable.Drawable; @@ -7,8 +7,8 @@ import android.view.ViewOutlineProvider; import android.view.WindowManager; -import com.termux.shared.view.ViewUtils; -import com.termux.view.TerminalView; +import com.invapp.shared.view.ViewUtils; +import com.invapp.view.TerminalView; /** * Handles displaying our TermuxFloatView as a collapsed bubble and restoring back diff --git a/app/src/main/java/com/termux/window/TermuxFloatActivity.java b/app/src/main/java/com/invapp/window/TermuxFloatActivity.java similarity index 94% rename from app/src/main/java/com/termux/window/TermuxFloatActivity.java rename to app/src/main/java/com/invapp/window/TermuxFloatActivity.java index 315d20a..7f2fe79 100644 --- a/app/src/main/java/com/termux/window/TermuxFloatActivity.java +++ b/app/src/main/java/com/invapp/window/TermuxFloatActivity.java @@ -1,4 +1,4 @@ -package com.termux.window; +package com.invapp.window; import android.app.Activity; import android.content.Intent; diff --git a/app/src/main/java/com/termux/window/TermuxFloatApplication.java b/app/src/main/java/com/invapp/window/TermuxFloatApplication.java similarity index 81% rename from app/src/main/java/com/termux/window/TermuxFloatApplication.java rename to app/src/main/java/com/invapp/window/TermuxFloatApplication.java index cd55375..a65858e 100644 --- a/app/src/main/java/com/termux/window/TermuxFloatApplication.java +++ b/app/src/main/java/com/invapp/window/TermuxFloatApplication.java @@ -1,13 +1,13 @@ -package com.termux.window; +package com.invapp.window; import android.app.Application; import android.content.Context; import android.util.Log; -import com.termux.shared.logger.Logger; -import com.termux.shared.termux.TermuxConstants; -import com.termux.shared.termux.crash.TermuxCrashUtils; -import com.termux.shared.termux.settings.preferences.TermuxFloatAppSharedPreferences; +import com.invapp.shared.logger.Logger; +import com.invapp.shared.termux.TermuxConstants; +import com.invapp.shared.termux.crash.TermuxCrashUtils; +import com.invapp.shared.termux.settings.preferences.TermuxFloatAppSharedPreferences; public class TermuxFloatApplication extends Application { diff --git a/app/src/main/java/com/termux/window/TermuxFloatPermissionActivity.java b/app/src/main/java/com/invapp/window/TermuxFloatPermissionActivity.java similarity index 97% rename from app/src/main/java/com/termux/window/TermuxFloatPermissionActivity.java rename to app/src/main/java/com/invapp/window/TermuxFloatPermissionActivity.java index 00736ea..0045039 100644 --- a/app/src/main/java/com/termux/window/TermuxFloatPermissionActivity.java +++ b/app/src/main/java/com/invapp/window/TermuxFloatPermissionActivity.java @@ -1,4 +1,4 @@ -package com.termux.window; +package com.invapp.window; import android.annotation.TargetApi; import android.app.Activity; diff --git a/app/src/main/java/com/termux/window/TermuxFloatService.java b/app/src/main/java/com/invapp/window/TermuxFloatService.java similarity index 94% rename from app/src/main/java/com/termux/window/TermuxFloatService.java rename to app/src/main/java/com/invapp/window/TermuxFloatService.java index ee01978..b3df2dc 100644 --- a/app/src/main/java/com/termux/window/TermuxFloatService.java +++ b/app/src/main/java/com/invapp/window/TermuxFloatService.java @@ -1,4 +1,4 @@ -package com.termux.window; +package com.invapp.window; import android.annotation.SuppressLint; import android.app.Notification; @@ -15,15 +15,15 @@ import android.view.LayoutInflater; import android.view.View; -import com.termux.shared.data.IntentUtils; -import com.termux.shared.logger.Logger; -import com.termux.shared.notification.NotificationUtils; -import com.termux.shared.shell.command.ExecutionCommand; -import com.termux.shared.termux.TermuxConstants; -import com.termux.shared.termux.TermuxConstants.TERMUX_FLOAT_APP.TERMUX_FLOAT_SERVICE; -import com.termux.shared.termux.shell.command.environment.TermuxShellEnvironment; -import com.termux.shared.termux.shell.command.runner.terminal.TermuxSession; -import com.termux.terminal.TerminalSession; +import com.invapp.shared.data.IntentUtils; +import com.invapp.shared.logger.Logger; +import com.invapp.shared.notification.NotificationUtils; +import com.invapp.shared.shell.command.ExecutionCommand; +import com.invapp.shared.termux.TermuxConstants; +import com.invapp.shared.termux.TermuxConstants.TERMUX_FLOAT_APP.TERMUX_FLOAT_SERVICE; +import com.invapp.shared.termux.shell.command.environment.TermuxShellEnvironment; +import com.invapp.shared.termux.shell.command.runner.terminal.TermuxSession; +import com.invapp.terminal.TerminalSession; public class TermuxFloatService extends Service { diff --git a/app/src/main/java/com/termux/window/TermuxFloatSessionClient.java b/app/src/main/java/com/invapp/window/TermuxFloatSessionClient.java similarity index 93% rename from app/src/main/java/com/termux/window/TermuxFloatSessionClient.java rename to app/src/main/java/com/invapp/window/TermuxFloatSessionClient.java index 135fc4f..3cbfba2 100644 --- a/app/src/main/java/com/termux/window/TermuxFloatSessionClient.java +++ b/app/src/main/java/com/invapp/window/TermuxFloatSessionClient.java @@ -1,4 +1,4 @@ -package com.termux.window; +package com.invapp.window; import android.content.ClipData; import android.content.ClipboardManager; @@ -8,14 +8,14 @@ import android.media.SoundPool; import android.text.TextUtils; -import com.termux.shared.logger.Logger; -import com.termux.shared.termux.TermuxConstants; -import com.termux.shared.termux.settings.properties.TermuxPropertyConstants; -import com.termux.shared.termux.terminal.TermuxTerminalSessionClientBase; -import com.termux.shared.termux.terminal.io.BellHandler; -import com.termux.terminal.TerminalColors; -import com.termux.terminal.TerminalSession; -import com.termux.terminal.TextStyle; +import com.invapp.shared.logger.Logger; +import com.invapp.shared.termux.TermuxConstants; +import com.invapp.shared.termux.settings.properties.TermuxPropertyConstants; +import com.invapp.shared.termux.terminal.TermuxTerminalSessionClientBase; +import com.invapp.shared.termux.terminal.io.BellHandler; +import com.invapp.terminal.TerminalColors; +import com.invapp.terminal.TerminalSession; +import com.invapp.terminal.TextStyle; import java.io.File; import java.io.FileInputStream; @@ -134,7 +134,7 @@ private synchronized void loadBellSoundPool() { .setUsage(AudioAttributes.USAGE_ASSISTANCE_SONIFICATION).build()).build(); try { - mBellSoundId = mBellSoundPool.load(mService, com.termux.shared.R.raw.bell, 1); + mBellSoundId = mBellSoundPool.load(mService, com.invapp.shared.R.raw.bell, 1); } catch (Exception e){ // Catch java.lang.RuntimeException: Unable to resume activity {com.termux/com.termux.app.TermuxActivity}: android.content.res.Resources$NotFoundException: File res/raw/bell.ogg from drawable resource ID Logger.logStackTraceWithMessage(LOG_TAG, "Failed to load bell sound pool", e); diff --git a/app/src/main/java/com/termux/window/TermuxFloatView.java b/app/src/main/java/com/invapp/window/TermuxFloatView.java similarity index 96% rename from app/src/main/java/com/termux/window/TermuxFloatView.java rename to app/src/main/java/com/invapp/window/TermuxFloatView.java index dff9e46..a4e84dd 100644 --- a/app/src/main/java/com/termux/window/TermuxFloatView.java +++ b/app/src/main/java/com/invapp/window/TermuxFloatView.java @@ -1,4 +1,4 @@ -package com.termux.window; +package com.invapp.window; import android.annotation.SuppressLint; import android.content.Context; @@ -17,15 +17,15 @@ import android.widget.Button; import android.widget.LinearLayout; -import com.termux.shared.logger.Logger; -import com.termux.shared.termux.TermuxConstants; -import com.termux.shared.termux.settings.preferences.TermuxFloatAppSharedPreferences; -import com.termux.shared.view.KeyboardUtils; -import com.termux.terminal.TerminalSession; -import com.termux.terminal.TerminalSessionClient; -import com.termux.view.TerminalView; -import com.termux.view.TerminalViewClient; -import com.termux.window.settings.properties.TermuxFloatAppSharedProperties; +import com.invapp.shared.logger.Logger; +import com.invapp.shared.termux.TermuxConstants; +import com.invapp.shared.termux.settings.preferences.TermuxFloatAppSharedPreferences; +import com.invapp.shared.view.KeyboardUtils; +import com.invapp.terminal.TerminalSession; +import com.invapp.terminal.TerminalSessionClient; +import com.invapp.view.TerminalView; +import com.invapp.view.TerminalViewClient; +import com.invapp.window.settings.properties.TermuxFloatAppSharedProperties; public class TermuxFloatView extends LinearLayout { diff --git a/app/src/main/java/com/termux/window/TermuxFloatViewClient.java b/app/src/main/java/com/invapp/window/TermuxFloatViewClient.java similarity index 96% rename from app/src/main/java/com/termux/window/TermuxFloatViewClient.java rename to app/src/main/java/com/invapp/window/TermuxFloatViewClient.java index ad814ed..5b4840a 100644 --- a/app/src/main/java/com/termux/window/TermuxFloatViewClient.java +++ b/app/src/main/java/com/invapp/window/TermuxFloatViewClient.java @@ -1,4 +1,4 @@ -package com.termux.window; +package com.invapp.window; import android.content.Context; import android.media.AudioManager; @@ -6,11 +6,11 @@ import android.view.KeyEvent; import android.view.MotionEvent; -import com.termux.shared.termux.terminal.TermuxTerminalViewClientBase; -import com.termux.shared.view.KeyboardUtils; -import com.termux.terminal.KeyHandler; -import com.termux.terminal.TerminalEmulator; -import com.termux.terminal.TerminalSession; +import com.invapp.shared.termux.terminal.TermuxTerminalViewClientBase; +import com.invapp.shared.view.KeyboardUtils; +import com.invapp.terminal.KeyHandler; +import com.invapp.terminal.TerminalEmulator; +import com.invapp.terminal.TerminalSession; public class TermuxFloatViewClient extends TermuxTerminalViewClientBase { @@ -39,7 +39,7 @@ public void initFloatView() { } /** - * Should be called when {@link com.termux.view.TerminalView#mEmulator} is set + * Should be called when {@link com.invapp.view.TerminalView#mEmulator} is set */ @Override public void onEmulatorSet() { diff --git a/app/src/main/java/com/termux/window/settings/properties/TermuxFloatAppSharedProperties.java b/app/src/main/java/com/invapp/window/settings/properties/TermuxFloatAppSharedProperties.java similarity index 72% rename from app/src/main/java/com/termux/window/settings/properties/TermuxFloatAppSharedProperties.java rename to app/src/main/java/com/invapp/window/settings/properties/TermuxFloatAppSharedProperties.java index 0986af8..315446a 100644 --- a/app/src/main/java/com/termux/window/settings/properties/TermuxFloatAppSharedProperties.java +++ b/app/src/main/java/com/invapp/window/settings/properties/TermuxFloatAppSharedProperties.java @@ -1,12 +1,12 @@ -package com.termux.window.settings.properties; +package com.invapp.window.settings.properties; import android.content.Context; import androidx.annotation.NonNull; -import com.termux.shared.termux.TermuxConstants; -import com.termux.shared.termux.settings.properties.TermuxPropertyConstants; -import com.termux.shared.termux.settings.properties.TermuxSharedProperties; +import com.invapp.shared.termux.TermuxConstants; +import com.invapp.shared.termux.settings.properties.TermuxPropertyConstants; +import com.invapp.shared.termux.settings.properties.TermuxSharedProperties; public class TermuxFloatAppSharedProperties extends TermuxSharedProperties { diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 65b0b10..81f83f7 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -1,5 +1,5 @@ - - - \ No newline at end of file + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 8530161..286f0d4 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1,9 +1,9 @@ - - + + + ]> diff --git a/build.gradle b/build.gradle index 2452b6d..00f7a39 100644 --- a/build.gradle +++ b/build.gradle @@ -13,7 +13,7 @@ allprojects { repositories { mavenCentral() google() - //mavenLocal() + mavenLocal() // InVxTermux: com.invapp:termux-shared/terminal-view published from involvex/termux-app maven { url "https://jitpack.io" } } } From 3826927932b8ad01067770c1f3ff77f5b59b40ad Mon Sep 17 00:00:00 2001 From: involvex <39644169+involvex@users.noreply.github.com> Date: Tue, 6 Oct 2026 01:14:46 +0200 Subject: [PATCH 2/5] Changed: Align toolchain with involvex/termux-app (AGP 9.4.0, Gradle 9.6.0, compileSdk 36) Use androidComponents.onVariants for APK naming. --- app/build.gradle | 19 +++++++++++-------- build.gradle | 2 +- gradle.properties | 2 +- gradle/wrapper/gradle-wrapper.properties | 2 +- 4 files changed, 14 insertions(+), 11 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 1b71451..cde9e62 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -40,7 +40,6 @@ android { debug { signingConfig signingConfigs.debug - zipAlignEnabled true } } @@ -52,19 +51,23 @@ android { targetCompatibility JavaVersion.VERSION_11 } - applicationVariants.all { variant -> - variant.outputs.all { output -> - outputFileName = new File("invx-float-app_" + - (apkVersionTag ? apkVersionTag : "v" + versionName + "+" + variant.buildType.name) + ".apk") - } - } - packagingOptions { // Remove terminal-shared JNI libs added via termux-shared dependency exclude "lib/*/liblocal-socket.so" } } +androidComponents { + onVariants(selector().all(), { variant -> + def apkVersionTagLocal = System.getenv("TERMUX_FLOAT_APP__BUILD__APK_VERSION_TAG") ?: "" + variant.outputs.forEach { output -> + def buildTypeName = variant.buildType + def apkName = "invx-float-app_" + (apkVersionTagLocal ? apkVersionTagLocal : "v" + android.defaultConfig.versionName + "+" + buildTypeName) + ".apk" + output.outputFileName.set(apkName) + } + }) +} + dependencies { coreLibraryDesugaring "com.android.tools:desugar_jdk_libs:1.1.5" diff --git a/build.gradle b/build.gradle index 00f7a39..cb6a575 100644 --- a/build.gradle +++ b/build.gradle @@ -5,7 +5,7 @@ buildscript { } dependencies { - classpath "com.android.tools.build:gradle:8.7.3" + classpath "com.android.tools.build:gradle:9.4.0" } } diff --git a/gradle.properties b/gradle.properties index bff406b..e3fe40f 100644 --- a/gradle.properties +++ b/gradle.properties @@ -17,4 +17,4 @@ android.useAndroidX=true minSdkVersion=24 targetSdkVersion=28 -compileSdkVersion=35 +compileSdkVersion=36 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 2fa91c5..f0f17c3 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.6.0-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists From 3469dfe2f67e8731baf78452e9fc106085c5808f Mon Sep 17 00:00:00 2001 From: involvex <39644169+involvex@users.noreply.github.com> Date: Tue, 6 Oct 2026 01:15:26 +0200 Subject: [PATCH 3/5] Fixed: Use proguard-android-optimize.txt for AGP 9 compat --- app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index cde9e62..f052d38 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -35,7 +35,7 @@ android { release { minifyEnabled true shrinkResources false // Reproducible builds - proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } debug { From dfa266ba27ca885c78c0cbc6785e2129d8b2cdb2 Mon Sep 17 00:00:00 2001 From: involvex <39644169+involvex@users.noreply.github.com> Date: Tue, 6 Oct 2026 01:16:25 +0200 Subject: [PATCH 4/5] Fixed: Use namespace com.invapp.window so R resolves in Java package --- app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index f052d38..aa92387 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,7 +1,7 @@ apply plugin: 'com.android.application' android { - namespace "com.involvex.termux_app.window" + namespace "com.invapp.window" compileSdk project.properties.compileSdkVersion.toInteger() def appVersionName = System.getenv("TERMUX_FLOAT_APP__BUILD__APP_VERSION_NAME") ?: "" From e6429c87e7e97f9c667c6cafafb998dad96ca4db Mon Sep 17 00:00:00 2001 From: involvex <39644169+involvex@users.noreply.github.com> Date: Tue, 6 Oct 2026 01:17:47 +0200 Subject: [PATCH 5/5] Fixed: Replace extractNativeLibs manifest flag with useLegacyPackaging for AGP 9 --- app/build.gradle | 3 +++ app/src/main/AndroidManifest.xml | 1 - 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index aa92387..cf3e6e7 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -52,6 +52,9 @@ android { } packagingOptions { + jniLibs { + useLegacyPackaging true + } // Remove terminal-shared JNI libs added via termux-shared dependency exclude "lib/*/liblocal-socket.so" } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index b3aed65..2cc2933 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -12,7 +12,6 @@