0
votes

I use deep link in an app built with Ionic on Android. When i click on the link, the app opens but crashed just one second after. How could i debug this problem ?

This is the intent code in AndroidManifest.xml:

<activity android:label="@string/app_name" android:name="com.pipp.deeplinks.LinkActivity" android:theme="@android:style/    Theme.DeviceDefault.NoActionBar">
    <intent-filter>
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.BROWSABLE" />
        <category android:name="android.intent.category.DEFAULT" />
        <data android:host="pipp.app.com" android:pathPrefix="/news" android:scheme="http" />
        <data android:host="actionnaires" android:scheme="pipp" />
    </intent-filter>
</activity>

Thanks !

Update

By using Android Studio, i have the following logs:

10-13 11:10:24.633 20844-20844/com.pipp.actionnaires E/AndroidRuntime: FATAL EXCEPTION: main Process: com.pipp.actionnaires, PID: 20844 java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.pipp.actionnaires/com.pipp.deeplinks.LinkActivity}: java.lang.ClassNotFoundException: Didn't find class "com.pipp.deeplinks.LinkActivity" on path: DexPathList[[zip file "/data/app/com.pipp.actionnaires-1/base.apk"],nativeLibraryDirectories=[/data/app/com.pipp.actionnaires-1/lib/x86, /vendor/lib, /system/lib]] at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2327) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) at android.app.ActivityThread.-wrap11(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5417) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) Caused by: java.lang.ClassNotFoundException: Didn't find class "com.pipp.deeplinks.LinkActivity" on path: DexPathList[[zip file "/data/app/com.pipp.actionnaires-1/base.apk"],nativeLibraryDirectories=[/data/app/com.pipp.actionnaires-1/lib/x86, /vendor/lib, /system/lib]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) at java.lang.ClassLoader.loadClass(ClassLoader.java:511) at java.lang.ClassLoader.loadClass(ClassLoader.java:469) at android.app.Instrumentation.newActivity(Instrumentation.java:1067) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2317) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)  at android.app.ActivityThread.-wrap11(ActivityThread.java)  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)  at android.os.Handler.dispatchMessage(Handler.java:102)  at android.os.Looper.loop(Looper.java:148)  at android.app.ActivityThread.main(ActivityThread.java:5417)  at java.lang.reflect.Method.invoke(Native Method)  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)  Suppressed: java.lang.ClassNotFoundException: com.pipp.deeplinks.LinkActivity at java.lang.Class.classForName(Native Method) at java.lang.BootClassLoader.findClass(ClassLoader.java:781) at java.lang.BootClassLoader.loadClass(ClassLoader.java:841) at java.lang.ClassLoader.loadClass(ClassLoader.java:504) ... 12 more Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack trace available

1
Paste the corresponding logcat trace - Simon Marquis
you can debugg with android studio... and find error.. - Naitik
Thanks, i updated my question with error. Could you please tell me how to resolve it ? - Trong Lam Phan
It's a class not found exception, so basically ListActivity class is not present in the dex file. Try not to shrink code while building apks or just add proguard rules if you are not using R8. - Jagraj Singh

1 Answers

0
votes

You're running from Eclipse or the Android application studio? If ionic run android application, you can debug from chrome://inspect/#devices to the device you have connected to your computer.