App version
v0.2.6
App source
GitHub
Device
OnePlus 6
Android / OS version
LineageOS Enchilada (Android 14)
Root / hook method
Magisk + Xposed
AirPods model
AirPods Pro 2 (Lightning)
AirPods firmware
No response
What happened
LibrePods v0.2.6 crashes immediately on launch on rooted OnePlus 6 — ClassNotFoundException: pathInterpolator
Description
LibrePods v0.2.6 installs successfully as a Magisk system/privileged app, but the application immediately crashes when launched.
The APK is installed and recognized correctly by Android:
package:me.kavishdevar.librepods
and:
package:/system/priv-app/LibrePods/LibrePods.apk
The activity also resolves correctly:
priority=0 preferredOrder=0 match=0x108000 specificIndex=-1 isDefault=false
me.kavishdevar.librepods/.MainActivity
The Magisk module itself appears to be mounted correctly.
However, launching LibrePods results in an immediate crash before the UI becomes usable.
Environment
- Device: OnePlus 6
- Android: rooted / Magisk
- ROM: LineageOS-based
- Locale:
es_MX
- LibrePods: v0.2.6
- versionCode: 46
- Installation method: Magisk module / system privileged app
- Architecture: ARM64
- Target SDK reported by Android: 35
module.prop:
id=librepods
name=LibrePods
version=v0.2.6
versionCode=46
author=@kavishdevar
description=Installs LibrePods as a system app for granting BLUETOOTH_PRIVILEGED and MODIFY_PHONE_STATE permission for better integraion with android.
The APK is located at:
/system/priv-app/LibrePods/LibrePods.apk
and has the following SELinux context:
u:object_r:system_file:s0
Crash
The relevant stack trace is:
FATAL EXCEPTION: main
Process: me.kavishdevar.librepods, PID: 7878
java.lang.RuntimeException:
Unable to start activity
ComponentInfo{me.kavishdevar.librepods/me.kavishdevar.librepods.MainActivity}:
android.content.res.Resources$NotFoundException:
Drawable me.kavishdevar.librepods:interpolator/btn_checkbox_checked_mtrl_animation_interpolator_1
with resource ID #0x7f0c0001
The important underlying exception is:
Caused by: java.lang.ClassNotFoundException:
Didn't find class "pathInterpolator"
on path:
DexPathList[
[zip file "/system/priv-app/LibrePods/LibrePods.apk"],
nativeLibraryDirectories=[
/system/priv-app/LibrePods/lib/arm64,
/system/priv-app/LibrePods/LibrePods.apk!/lib/arm64-v8a,
/system/lib64,
/system/system_ext/lib64
]
]
Full relevant portion:
08-15 13:32:39.077 E AndroidRuntime:
FATAL EXCEPTION: main
08-15 13:32:39.077 E AndroidRuntime:
Process: me.kavishdevar.librepods, PID: 7878
08-15 13:32:39.077 E AndroidRuntime:
java.lang.RuntimeException:
Unable to start activity ComponentInfo{
me.kavishdevar.librepods/me.kavishdevar.librepods.MainActivity}:
android.content.res.Resources$NotFoundException:
Drawable me.kavishdevar.librepods:interpolator/
btn_checkbox_checked_mtrl_animation_interpolator_1
with resource ID #0x7f0c0001
...
08-15 13:32:39.079 E AndroidRuntime:
Caused by: java.lang.ClassNotFoundException:
Didn't find class "pathInterpolator"
on path: DexPathList[
[zip file "/system/priv-app/LibrePods/LibrePods.apk"],
nativeLibraryDirectories=[
/system/priv-app/LibrePods/lib/arm64,
/system/priv-app/LibrePods/LibrePods.apk!/lib/arm64-v8a,
/system/lib64,
/system/system_ext/lib64
]
]
08-15 13:32:39.085 W ActivityTaskManager:
Force finishing activity
me.kavishdevar.librepods/.MainActivity
08-15 13:32:39.103 I ActivityManager:
Process me.kavishdevar.librepods (pid 7878) has died
Additional PackageManager warning
Immediately before the crash, Android also reports:
W PackageManager:
Failure retrieving resources for me.kavishdevar.librepods:
Drawable me.kavishdevar.librepods:interpolator/
btn_checkbox_checked_mtrl_animation_interpolator_1
with resource ID #0x7f0c0001
This appears to correlate directly with the subsequent Resources$NotFoundException.
Installation verification
The Magisk module is present:
/data/adb/modules/librepods/
with:
/data/adb/modules/librepods/module.prop
/data/adb/modules/librepods/system/priv-app/LibrePods/LibrePods.apk
The mounted system APK is:
and Android resolves it normally:
adb shell pm list packages | grep -i librepods
package:me.kavishdevar.librepods
adb shell pm path me.kavishdevar.librepods
package:/system/priv-app/LibrePods/LibrePods.apk
adb shell cmd package resolve-activity --brief me.kavishdevar.librepods
priority=0 preferredOrder=0 match=0x108000 specificIndex=-1 isDefault=false
me.kavishdevar.librepods/.MainActivity
So this does not appear to be a simple failure to install/mount/register the APK.
Possible cause
The crash seems related to an Android resource generated by Material/AndroidX:
btn_checkbox_checked_mtrl_animation_interpolator_1
which eventually attempts to inflate:
as an XML drawable/interpolator class.
Android's DrawableInflater reaches:
DrawableInflater.inflateFromClass()
and fails with:
ClassNotFoundException: Didn't find class "pathInterpolator"
This may indicate one of the following:
- An incorrectly generated/packaged interpolator XML resource.
- A resource compatibility problem between the APK's Material/AndroidX dependencies and the Android framework on this device.
- An Android build/resource-processing issue where
pathInterpolator is emitted in a form that this Android version cannot resolve.
- A case-sensitivity or resource-class-name issue (
pathInterpolator vs the framework class expected by the device).
- A resource merge/shrinking/packaging problem introduced in v0.2.6.
- A device/ROM-specific incompatibility with the version of Material Components/AppCompat used by v0.2.6.
I would particularly investigate why an interpolator resource is being inflated through DrawableInflater and why the XML references pathInterpolator instead of resolving to the appropriate framework/AndroidX class.
Regression
Older LibrePods versions, including the previous alpha version I was using, did not exhibit this immediate startup crash on this same device/environment.
The previous LibrePods alpha was usable on the same rooted OnePlus 6, including the Hearing Aid / Act as an Apple Device functionality.
The problem appeared after moving to v0.2.6.
Reproduction
- Root a OnePlus 6 with Magisk.
- Install LibrePods v0.2.6 as the provided Magisk module.
- Reboot.
- Verify:
adb shell pm list packages | grep -i librepods
adb shell pm path me.kavishdevar.librepods
- Launch LibrePods.
- The app immediately closes.
- Check:
adb logcat | grep -iE 'librepods|AndroidRuntime|FATAL EXCEPTION|Resources\$NotFoundException|ClassNotFoundException'
- Observe the
pathInterpolator / btn_checkbox_checked_mtrl_animation_interpolator_1 exception.
Request
Could you please investigate whether the btn_checkbox_checked_mtrl_animation_interpolator_1 resource or its generated XML changed in v0.2.6?
It would also be useful to verify the Material/AndroidX dependency versions and the final packaged resource inside the APK.
In particular, I would like to know whether the following resource is expected to contain something similar to:
and whether that is compatible with the Android framework/resource inflater on older Android/LineageOS devices.
If this is a build/resource packaging issue, could it be fixed in the next release?
I can provide:
- full
adb logcat
bugreport.zip
- APK/resource inspection
aapt2 dump resources output
- APK
res/ contents
- device/build information
- Magisk module contents
if needed.
Additional note
The crash occurs during the startup of MainActivity, before LibrePods reaches a usable UI.
This does not currently appear to be related to Bluetooth, Hearing Aid, Magisk permissions, or the privileged-app installation itself. The APK is correctly mounted and resolved by Android, but resource inflation fails during activity startup.
I am keeping the Hearing Aid/audiogram behavior as a separate issue so this report can focus specifically on the v0.2.6 startup crash.
Logs
No response
Additional context
No response
App version
v0.2.6
App source
GitHub
Device
OnePlus 6
Android / OS version
LineageOS Enchilada (Android 14)
Root / hook method
Magisk + Xposed
AirPods model
AirPods Pro 2 (Lightning)
AirPods firmware
No response
What happened
LibrePods v0.2.6 crashes immediately on launch on rooted OnePlus 6 —
ClassNotFoundException: pathInterpolatorDescription
LibrePods v0.2.6 installs successfully as a Magisk system/privileged app, but the application immediately crashes when launched.
The APK is installed and recognized correctly by Android:
and:
The activity also resolves correctly:
The Magisk module itself appears to be mounted correctly.
However, launching LibrePods results in an immediate crash before the UI becomes usable.
Environment
es_MXmodule.prop:The APK is located at:
and has the following SELinux context:
Crash
The relevant stack trace is:
The important underlying exception is:
Full relevant portion:
Additional PackageManager warning
Immediately before the crash, Android also reports:
This appears to correlate directly with the subsequent
Resources$NotFoundException.Installation verification
The Magisk module is present:
with:
The mounted system APK is:
and Android resolves it normally:
adb shell pm list packages | grep -i librepods package:me.kavishdevar.librepodsSo this does not appear to be a simple failure to install/mount/register the APK.
Possible cause
The crash seems related to an Android resource generated by Material/AndroidX:
which eventually attempts to inflate:
as an XML drawable/interpolator class.
Android's
DrawableInflaterreaches:and fails with:
This may indicate one of the following:
pathInterpolatoris emitted in a form that this Android version cannot resolve.pathInterpolatorvs the framework class expected by the device).I would particularly investigate why an interpolator resource is being inflated through
DrawableInflaterand why the XML referencespathInterpolatorinstead of resolving to the appropriate framework/AndroidX class.Regression
Older LibrePods versions, including the previous alpha version I was using, did not exhibit this immediate startup crash on this same device/environment.
The previous LibrePods alpha was usable on the same rooted OnePlus 6, including the Hearing Aid / Act as an Apple Device functionality.
The problem appeared after moving to v0.2.6.
Reproduction
adb shell pm list packages | grep -i librepods adb shell pm path me.kavishdevar.librepodspathInterpolator/btn_checkbox_checked_mtrl_animation_interpolator_1exception.Request
Could you please investigate whether the
btn_checkbox_checked_mtrl_animation_interpolator_1resource or its generated XML changed in v0.2.6?It would also be useful to verify the Material/AndroidX dependency versions and the final packaged resource inside the APK.
In particular, I would like to know whether the following resource is expected to contain something similar to:
<pathInterpolator ... />and whether that is compatible with the Android framework/resource inflater on older Android/LineageOS devices.
If this is a build/resource packaging issue, could it be fixed in the next release?
I can provide:
adb logcatbugreport.zipaapt2 dump resourcesoutputres/contentsif needed.
Additional note
The crash occurs during the startup of
MainActivity, before LibrePods reaches a usable UI.This does not currently appear to be related to Bluetooth, Hearing Aid, Magisk permissions, or the privileged-app installation itself. The APK is correctly mounted and resolved by Android, but resource inflation fails during activity startup.
I am keeping the Hearing Aid/audiogram behavior as a separate issue so this report can focus specifically on the v0.2.6 startup crash.
Logs
No response
Additional context
No response