Ioinic 5 - java.lang.RuntimeException: Unable to instantiate application android.permission.READ_PHONE_STATE: java.lang.ClassNotFoundException

Hello,

can anyone help me with this?

java.lang.RuntimeException: Unable to instantiate application android.permission.READ_PHONE_STATE: java.lang.ClassNotFoundException: Didn’t find class “android.permission.READ_PHONE_STATE” on path: DexPathList[[zip file “/data/app/com.practice.myapp -2/base.apk”],nativeLibraryDirectories=[/data/app/com.practice.myapp-2/lib/arm64, /vendor/lib64, /system/lib64]]

at android.app.LoadedApk.makeApplication(LoadedApk.java:584)

at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4801)

at android.app.ActivityThread.access$1800(ActivityThread.java:151)

at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1461)

at android.os.Handler.dispatchMessage(Handler.java:102)

at android.os.Looper.loop(Looper.java:157)

at android.app.ActivityThread.main(ActivityThread.java:5603)

at java.lang.reflect.Method.invoke(Native Method)

at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:774)

at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:652)

Caused by: java.lan…

You need to set that permission to true in the config.xml file if you are building with Cordova, or the proper android manifest xml file if building with Capacitor. That is my first guess at the issue.

Thanks for the reply ChrisGriiffith,

I am building with cordova. I specified permissions in config.xml like this

<platform name="android">
        <edit-config file="app/src/main/AndroidManifest.xml" mode="merge" target="/manifest/application" xmlns:android="http://schemas.android.com/apk/res/android">
            <application android:networkSecurityConfig="@xml/network_security_config" />
        </edit-config>

        <edit-config file="AndroidManifest.xml" mode="merge" target="/manifest/uses-permission" xmlns:android="http://schemas.android.com/apk/res/android">
            <uses-permission android:name="android.permission.READ_PHONE_STATE" />
        </edit-config>
</platform>

Your targeted file paths are not the same:
file=“app/src/main/AndroidManifest.xml”
file=“AndroidManifest.xml”

chris

Chris, which one I need to use

file=“app/src/main/AndroidManifest.xml”
OR
file=“AndroidManifest.xml”

I think file=“app/src/main/AndroidManifest.xml” @tejakumar

    <edit-config file="app/src/main/AndroidManifest.xml" mode="merge" target="/manifest/uses-permission" xmlns:android="http://schemas.android.com/apk/res/android">
        <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    </edit-config>
But not working.