-
-
Notifications
You must be signed in to change notification settings - Fork 5k
Comparing changes
Open a pull request
base repository: termux/termux-app
base: 21c0d51f
head repository: termux/termux-app
compare: v0.118.3
- 6 commits
- 7 files changed
- 2 contributors
Commits on May 22, 2025
-
Fixed: Declare
MANAGE_EXTERNAL_STORAGE
as it being added in Termux:……API version `0.51.0` is revoking the storage permission of Termux app after updates and sometimes later Related issue #4486
Configuration menu - View commit details
-
Copy full SHA for 2375652 - Browse repository at this point
Copy the full SHA 2375652View commit details -
Changed!: Remove
TERMUX_APP__BUILD_DATA_DIR
as a different naming s……cheme will be used for build variables and rename `TERMUX__ROOTFS` to `TERMUX__ROOTFS_DIR`
Configuration menu - View commit details
-
Copy full SHA for 849e6b1 - Browse repository at this point
Copy the full SHA 849e6b1View commit details -
Fixed: Use
openjdk11
for jitpack builds of termux libraries`Unrecognized option: --add-exports=java.base/sun.nio.ch=ALL-UNNAMED` Related commit 52da00e
Configuration menu - View commit details
-
Copy full SHA for 431dc1d - Browse repository at this point
Copy the full SHA 431dc1dView commit details -
Changed|Fixed: Bump
org.lsposed.hiddenapibypass:hiddenapibypass
to ……`6.1` to fix crash on Android 16 QPR1 ``` Build fingerprint: 'google/shiba_beta/shiba:16/BP31.250502.008/13497110:user/release-keys' Revision: 'MP1.0' ABI: 'arm64' Executable: /system/bin/app_process64 Cmdline: com.termux pid: 22617, tid: 22617, name: com.termux >>> com.termux <<< uid: 10323 tagged_addr_ctrl: 0000000000000001 (PR_TAGGED_ADDR_ENABLE) pac_enabled_keys: 000000000000000f (PR_PAC_APIAKEY, PR_PAC_APIBKEY, PR_PAC_APDAKEY, PR_PAC_APDBKEY) esr: 0000000092000006 (Data Abort Exception 0x24) signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x000000000000000c Cause: null pointer dereference x0 0000000070b6f798 x1 0000000002159228 x2 000000000000000c x3 00000000ebad6073 x4 00000000ebad6074 x5 00000000ebad6075 x6 00000000ebad6076 x7 00000000ebad6077 x8 00000000ebad6078 x9 00000000ebad6079 x10 00000000ebad607a x11 00000000ebad607b x12 00000000ebad607c x13 00000000ebad607d x14 00000000ebad607e x15 00000000ebad607f x16 0000007feda203f0 x17 0000007976776a9c x18 0000007cd0e44000 x19 b400007b850b8be0 x20 0000000000000000 x21 b400007b850b8ca0 x22 0000000000000000 x23 00000000021592b8 x24 000000006413b378 x25 0000000070b99ee0 x26 0000000070b9fc78 x27 0000000000000000 x28 0000000000000053 x29 0000000070b99ee0 lr 0000007976776a98 sp 0000007feda203f0 pc 0000007976776b0c pst 0000000080001000 esr 0000000092000006 26 total frames backtrace: #00 pc 00000000000c8b0c /data/app/~~p_sHRwZKj3QVf_xeRMrR3g==/com.termux-rodTRD4IY6G2qtCPCrHfhw==/oat/arm64/base.odex (org.lsposed.hiddenapibypass.HiddenApiBypass.getDeclaredMethods+780) #1 pc 00000000000c8dc4 /data/app/~~p_sHRwZKj3QVf_xeRMrR3g==/com.termux-rodTRD4IY6G2qtCPCrHfhw==/oat/arm64/base.odex (org.lsposed.hiddenapibypass.HiddenApiBypass.setHiddenApiExemptions+68) #2 pc 00000000000ae560 /data/app/~~p_sHRwZKj3QVf_xeRMrR3g==/com.termux-rodTRD4IY6G2qtCPCrHfhw==/oat/arm64/base.odex (com.termux.shared.reflection.ReflectionUtils.bypassHiddenAPIReflectionRestrictions+448) #3 pc 00000000000a342c /data/app/~~p_sHRwZKj3QVf_xeRMrR3g==/com.termux-rodTRD4IY6G2qtCPCrHfhw==/oat/arm64/base.odex (com.termux.shared.android.SELinuxUtils.getContext+108) #4 pc 00000000000c0b60 /data/app/~~p_sHRwZKj3QVf_xeRMrR3g==/com.termux-rodTRD4IY6G2qtCPCrHfhw==/oat/arm64/base.odex (com.termux.shared.termux.shell.command.environment.TermuxAppShellEnvironment.setTermuxAppEnvironment+3216) #5 pc 000000000009eafc /data/app/~~p_sHRwZKj3QVf_xeRMrR3g==/com.termux-rodTRD4IY6G2qtCPCrHfhw==/oat/arm64/base.odex (com.termux.app.TermuxApplication.onCreate+1596) ... #22 pc 0000000000105c98 /system/lib64/libandroid_runtime.so (_JNIEnv::CallStaticVoidMethod(_jclass*, _jmethodID*, ...)+104) (BuildId: ea93df5e792bbd2e0cbb71b2a7599aaa) #23 pc 000000000013121c /system/lib64/libandroid_runtime.so (android::AndroidRuntime::start(char const*, android::Vector<android::String8> const&, bool)+908) (BuildId: ea93df5e792bbd2e0cbb71b2a7599aaa) #24 pc 000000000000459c /system/bin/app_process64 (main+1212) (BuildId: a237cfae6965d7f0b950e5955c73432c) #25 pc 000000000006bb88 /apex/com.android.runtime/lib64/bionic/libc.so (__libc_init+120) (BuildId: eecb0fc2ec8128ec92c091c0160586d1) ``` Related commit LSPosed/AndroidHiddenApiBypass@9efadf06 Related commit https://android-review.googlesource.com/c/platform/libcore/+/3380841 Related commit https://cs.android.com/android/_/android/platform/libcore/+/0dc31afe Closes #4556
Configuration menu - View commit details
-
Copy full SHA for fda17af - Browse repository at this point
Copy the full SHA fda17afView commit details -
Fixed: Add explicit
serialVersionUID
toSerializable
classes like…… `ReportInfo` and `TextIOInfo` Reading `ReportInfo` with `Bundle.getSerializable()` by `ReportActivity` is triggering exception when default algorithm is used for `serialVersionUID` in Termux:API plugin app when error notification created in `ResultReturner.returnData()` by `TermuxPluginUtils.sendPluginCommandErrorNotification()` is clicked. ``` java.lang.RuntimeException: Unable to start activity ComponentInfo{com.termux/com.termux.shared.activities.ReportActivity}: android.os.BadParcelableException: Parcelable encountered IOException reading a Serializable object (name = com.termux.shared.models.ReportInfo) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:4280) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4467) at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:222) at android.app.servertransaction.TransactionExecutor.executeNonLifecycleItem(TransactionExecutor.java:133) at android.app.servertransaction.TransactionExecutor.executeTransactionItems(TransactionExecutor.java:103) at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:80) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2823) at android.os.Handler.dispatchMessage(Handler.java:110) at android.os.Looper.loopOnce(Looper.java:248) at android.os.Looper.loop(Looper.java:338) at android.app.ActivityThread.main(ActivityThread.java:9067) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:593) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:932) Caused by: android.os.BadParcelableException: Parcelable encountered IOException reading a Serializable object (name = com.termux.shared.models.ReportInfo) at android.os.Parcel.readSerializableInternal(Parcel.java:5520) at android.os.Parcel.readValue(Parcel.java:5038) at android.os.Parcel.readValue(Parcel.java:4702) at android.os.Parcel.-$$Nest$mreadValue(Unknown Source:0) at android.os.Parcel$LazyValue.apply(Parcel.java:4811) at android.os.Parcel$LazyValue.apply(Parcel.java:4764) at android.os.BaseBundle.unwrapLazyValueFromMapLocked(BaseBundle.java:446) at android.os.BaseBundle.getValueAt(BaseBundle.java:426) at android.os.BaseBundle.getValue(BaseBundle.java:397) at android.os.BaseBundle.getValue(BaseBundle.java:380) at android.os.BaseBundle.getValue(BaseBundle.java:373) at android.os.BaseBundle.getSerializable(BaseBundle.java:1522) at android.os.Bundle.getSerializable(Bundle.java:1339) at com.termux.shared.activities.ReportActivity.updateUI(ReportActivity.java:140) at com.termux.shared.activities.ReportActivity.onCreate(ReportActivity.java:93) at android.app.Activity.performCreate(Activity.java:9155) at android.app.Activity.performCreate(Activity.java:9133) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1521) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:4262) ... 13 more Caused by: java.io.InvalidClassException: com.termux.shared.models.ReportInfo; local class incompatible: stream classdesc serialVersionUID = -5165426368218339031, local class serialVersionUID = 1 at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:652) at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1743) at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1624) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1902) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1442) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:430) at android.os.Parcel.readSerializableInternal(Parcel.java:5507) ... 31 more ``` If using release APK with obfuscation enabled, then following exception will be triggered. ``` java.lang.RuntimeException: Unable to start activity ComponentInfo{com.termux/com.termux.shared.activities.ReportActivity}: android.os.BadParcelableException: Parcelable encountered ClassNotFoundException reading a Serializable object (name = I0.a) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3864) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4006) at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:111) at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135) at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2462) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loopOnce(Looper.java:240) at android.os.Looper.loop(Looper.java:351) at android.app.ActivityThread.main(ActivityThread.java:8377) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:584) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1013) Caused by: android.os.BadParcelableException: Parcelable encountered ClassNotFoundException reading a Serializable object (name = I0.a) at android.os.Parcel.readSerializableInternal(Parcel.java:5113) at android.os.Parcel.readValue(Parcel.java:4655) at android.os.Parcel.readValue(Parcel.java:4363) at android.os.Parcel.-$$Nest$mreadValue(Unknown Source:0) at android.os.Parcel$LazyValue.apply(Parcel.java:4461) at android.os.Parcel$LazyValue.apply(Parcel.java:4420) at android.os.BaseBundle.getValueAt(BaseBundle.java:394) at android.os.BaseBundle.getValue(BaseBundle.java:374) at android.os.BaseBundle.getValue(BaseBundle.java:357) at android.os.BaseBundle.getValue(BaseBundle.java:350) at android.os.BaseBundle.getSerializable(BaseBundle.java:1451) at android.os.Bundle.getSerializable(Bundle.java:1144) at com.termux.shared.activities.ReportActivity.updateUI(ReportActivity.java:136) at com.termux.shared.activities.ReportActivity.onCreate(ReportActivity.java:89) at android.app.Activity.performCreate(Activity.java:8397) at android.app.Activity.performCreate(Activity.java:8370) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1403) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3837) ... 12 more Caused by: java.lang.ClassNotFoundException: I0.a at java.lang.Class.classForName(Native Method) at java.lang.Class.forName(Class.java:536) at android.os.Parcel$2.resolveClass(Parcel.java:5090) at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1733) at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1624) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1902) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1442) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:430) at android.os.Parcel.readSerializableInternal(Parcel.java:5096) ... 29 more Caused by: java.lang.ClassNotFoundException: I0.a ... 38 more ``` Related issue termux/termux-api#762
Configuration menu - View commit details
-
Copy full SHA for 4f033b3 - Browse repository at this point
Copy the full SHA 4f033b3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5b657c6 - Browse repository at this point
Copy the full SHA 5b657c6View commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff 21c0d51f...v0.118.3