BCR
BCR copied to clipboard
Cannot build project using Android Studio
I'm new to Android native development so please assume I might have missed something really basic. I downloaded the project, synchronized gradle files, selected my magisk rooted device and the app installed successfully, yet it keeps stopping and I cannot see anything. I was able to install and run the app using magisk tho. The only problem is when I'm trying to run it using AS. My device is Pixel Pro 7a, running on Android 13 My logcat error:
2024-08-07 10:21:19.944 7631-7631 AndroidRuntime com.chiller3.bcr E FATAL EXCEPTION: main Process: com.chiller3.bcr, PID: 7631 java.lang.ExceptionInInitializerError at com.chiller3.bcr.extension.AudioFormatExtensionsKt.getSAMPLE_RATE_HZ_MIN_COMPAT(AudioFormatExtensions.kt:20) at com.chiller3.bcr.format.WaveFormat.<clinit>(WaveFormat.kt:22) at com.chiller3.bcr.format.Format$Companion$all$2$4.invoke(Format.kt:107) at com.chiller3.bcr.format.Format$Companion$all$2$4.invoke(Format.kt:103) at com.chiller3.bcr.format.Format$Companion$all$2.invoke(Format.kt:112) at com.chiller3.bcr.format.Format$Companion$all$2.invoke(Format.kt:100) at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74) at com.chiller3.bcr.format.Format$Companion.getAll(Format.kt:100) at com.chiller3.bcr.format.Format.<clinit>(Format.kt:120) at com.chiller3.bcr.settings.SettingsFragment.refreshOutputFormat(SettingsFragment.kt:125) at com.chiller3.bcr.settings.SettingsFragment.onCreatePreferences(SettingsFragment.kt:84) at androidx.preference.PreferenceFragmentCompat.onCreate(PreferenceFragmentCompat.java:161) at androidx.fragment.app.Fragment.performCreate(Fragment.java:3095) at androidx.fragment.app.FragmentStateManager.create(FragmentStateManager.java:516) at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:274) at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:2103) at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:1998) at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:1941) at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:3206) at androidx.fragment.app.FragmentManager.dispatchActivityCreated(FragmentManager.java:3116) at androidx.fragment.app.FragmentController.dispatchActivityCreated(FragmentController.java:263) at androidx.fragment.app.FragmentActivity.onStart(FragmentActivity.java:350) at androidx.appcompat.app.AppCompatActivity.onStart(AppCompatActivity.java:251) at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1543) at android.app.Activity.performStart(Activity.java:8367) at android.app.ActivityThread.handleStartActivity(ActivityThread.java:3669) at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:224) at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:204) at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:176) at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2306) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loopOnce(Looper.java:201) at android.os.Looper.loop(Looper.java:288) at android.app.ActivityThread.main(ActivityThread.java:7918) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936) Caused by: java.lang.NoSuchFieldException: No field SAMPLE_RATE_HZ_MIN in class Landroid/media/AudioFormat; (declaration of 'android.media.AudioFormat' appears in /system/framework/framework.jar!classes2.dex) at java.lang.Class.getDeclaredField(Native Method) at com.chiller3.bcr.extension.AudioFormatExtensionsKt.<clinit>(AudioFormatExtensions.kt:21) at com.chiller3.bcr.extension.AudioFormatExtensionsKt.getSAMPLE_RATE_HZ_MIN_COMPAT(AudioFormatExtensions.kt:20) at com.chiller3.bcr.format.WaveFormat.<clinit>(WaveFormat.kt:22) at com.chiller3.bcr.format.Format$Companion$all$2$4.invoke(Format.kt:107) at com.chiller3.bcr.format.Format$Companion$all$2$4.invoke(Format.kt:103) at com.chiller3.bcr.format.Format$Companion$all$2.invoke(Format.kt:112) at com.chiller3.bcr.format.Format$Companion$all$2.invoke(Format.kt:100) at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74) at com.chiller3.bcr.format.Format$Companion.getAll(Format.kt:100) at com.chiller3.bcr.format.Format.<clinit>(Format.kt:120) at com.chiller3.bcr.settings.SettingsFragment.refreshOutputFormat(SettingsFragment.kt:125) at com.chiller3.bcr.settings.SettingsFragment.onCreatePreferences(SettingsFragment.kt:84) at androidx.preference.PreferenceFragmentCompat.onCreate(PreferenceFragmentCompat.java:161) at androidx.fragment.app.Fragment.performCreate(Fragment.java:3095) at androidx.fragment.app.FragmentStateManager.create(FragmentStateManager.java:516) at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:274) at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:2103) at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:1998) at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:1941) at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:3206) at androidx.fragment.app.FragmentManager.dispatchActivityCreated(FragmentManager.java:3116) at androidx.fragment.app.FragmentController.dispatchActivityCreated(FragmentController.java:263) at androidx.fragment.app.FragmentActivity.onStart(FragmentActivity.java:350) at androidx.appcompat.app.AppCompatActivity.onStart(AppCompatActivity.java:251) at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1543) at android.app.Activity.performStart(Activity.java:8367) at android.app.ActivityThread.handleStartActivity(ActivityThread.java:3669) at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:224) at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:204) at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:176) at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2306) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loopOnce(Looper.java:201) at android.os.Looper.loop(Looper.java:288) at android.app.ActivityThread.main(ActivityThread.java:7918) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936) 2024-08-07 10:21:19.947 7631-7631 OutputDirUtils com.chiller3.bcr D Creating crash.log with MIME type text/plain in file:///storage/emulated/0/Android/data/com.chiller3.bcr/files 2024-08-07 10:21:19.958 7631-7631 RecorderApplication com.chiller3.bcr E Saving logcat to file:///storage/emulated/0/Android/data/com.chiller3.bcr/files/crash.log.txt due to uncaught exception in Thread[main,5,main] java.lang.ExceptionInInitializerError at com.chiller3.bcr.extension.AudioFormatExtensionsKt.getSAMPLE_RATE_HZ_MIN_COMPAT(AudioFormatExtensions.kt:20) at com.chiller3.bcr.format.WaveFormat.<clinit>(WaveFormat.kt:22) at com.chiller3.bcr.format.Format$Companion$all$2$4.invoke(Format.kt:107) at com.chiller3.bcr.format.Format$Companion$all$2$4.invoke(Format.kt:103) at com.chiller3.bcr.format.Format$Companion$all$2.invoke(Format.kt:112) at com.chiller3.bcr.format.Format$Companion$all$2.invoke(Format.kt:100) at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74) at com.chiller3.bcr.format.Format$Companion.getAll(Format.kt:100) at com.chiller3.bcr.format.Format.<clinit>(Format.kt:120) at com.chiller3.bcr.settings.SettingsFragment.refreshOutputFormat(SettingsFragment.kt:125) at com.chiller3.bcr.settings.SettingsFragment.onCreatePreferences(SettingsFragment.kt:84) at androidx.preference.PreferenceFragmentCompat.onCreate(PreferenceFragmentCompat.java:161) at androidx.fragment.app.Fragment.performCreate(Fragment.java:3095) at androidx.fragment.app.FragmentStateManager.create(FragmentStateManager.java:516) at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:274) at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:2103) at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:1998) at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:1941) at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:3206) at androidx.fragment.app.FragmentManager.dispatchActivityCreated(FragmentManager.java:3116) at androidx.fragment.app.FragmentController.dispatchActivityCreated(FragmentController.java:263) at androidx.fragment.app.FragmentActivity.onStart(FragmentActivity.java:350) at androidx.appcompat.app.AppCompatActivity.onStart(AppCompatActivity.java:251) at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1543) at android.app.Activity.performStart(Activity.java:8367) at android.app.ActivityThread.handleStartActivity(ActivityThread.java:3669) at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:224) at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:204) at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:176) at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2306) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loopOnce(Looper.java:201) at android.os.Looper.loop(Looper.java:288) at android.app.ActivityThread.main(ActivityThread.java:7918) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936) Caused by: java.lang.NoSuchFieldException: No field SAMPLE_RATE_HZ_MIN in class Landroid/media/AudioFormat; (declaration of 'android.media.AudioFormat' appears in /system/framework/framework.jar!classes2.dex) at java.lang.Class.getDeclaredField(Native Method) at com.chiller3.bcr.extension.AudioFormatExtensionsKt.<clinit>(AudioFormatExtensions.kt:21) at com.chiller3.bcr.extension.AudioFormatExtensionsKt.getSAMPLE_RATE_HZ_MIN_COMPAT(AudioFormatExtensions.kt:20) at com.chiller3.bcr.format.WaveFormat.<clinit>(WaveFormat.kt:22) at com.chiller3.bcr.format.Format$Companion$all$2$4.invoke(Format.kt:107) at com.chiller3.bcr.format.Format$Companion$all$2$4.invoke(Format.kt:103) at com.chiller3.bcr.format.Format$Companion$all$2.invoke(Format.kt:112) at com.chiller3.bcr.format.Format$Companion$all$2.invoke(Format.kt:100) at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74) at com.chiller3.bcr.format.Format$Companion.getAll(Format.kt:100) at com.chiller3.bcr.format.Format.<clinit>(Format.kt:120) at com.chiller3.bcr.settings.SettingsFragment.refreshOutputFormat(SettingsFragment.kt:125) at com.chiller3.bcr.settings.SettingsFragment.onCreatePreferences(SettingsFragment.kt:84) at androidx.preference.PreferenceFragmentCompat.onCreate(PreferenceFragmentCompat.java:161) at androidx.fragment.app.Fragment.performCreate(Fragment.java:3095) at androidx.fragment.app.FragmentStateManager.create(FragmentStateManager.java:516) at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:274) at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:2103) at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:1998) at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:1941) at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:3206) at androidx.fragment.app.FragmentManager.dispatchActivityCreated(FragmentManager.java:3116) at androidx.fragment.app.FragmentController.dispatchActivityCreated(FragmentController.java:263) at androidx.fragment.app.FragmentActivity.onStart(FragmentActivity.java:350) at androidx.appcompat.app.AppCompatActivity.onStart(AppCompatActivity.java:251) at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1543) at android.app.Activity.performStart(Activity.java:8367) at android.app.ActivityThread.handleStartActivity(ActivityThread.java:3669) at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:224) at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:204) at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:176) at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2306) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loopOnce(Looper.java:201) at android.os.Looper.loop(Looper.java:288) at android.app.ActivityThread.main(ActivityThread.java:7918) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)