Found that the problem was on the haxe code. Type on JNI was missing a ;
getLinkedUrl = JNI.createStaticMethod(“com.deeplink.DeepLinking”, “getLinkedUrl”, “()Ljava/lang/String;”);
Now is crashing when it receives a Deep Link:
--------- beginning of crash
03-07 05:43:37.084 22328 22328 E AndroidRuntime: FATAL EXCEPTION: main
03-07 05:43:37.084 22328 22328 E AndroidRuntime: Process: com.tembac.bichitosMaker, PID: 22328
03-07 05:43:37.084 22328 22328 E AndroidRuntime: java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.tembac.bichitosMaker/org.haxe.extension.deeplinking}: java.lang.ClassNotFoundException: Didn't find class "org.haxe.extension.deeplinking" on path: DexPathList[[zip file "/data/app/com.tembac.bichitosMaker-GaYCF_knD2vLWBdL-CFL-A==/base.apk"],nativeLibraryDirectories=[/data/app/com.tembac.bichitosMaker-GaYCF_knD2vLWBdL-CFL-A==/lib/arm, /system/fake-libs, /data/app/com.tembac.bichitosMaker-GaYCF_knD2vLWBdL-CFL-A==/base.apk!/lib/armeabi, /system/lib, /vendor/lib]]
03-07 05:43:37.084 22328 22328 E AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2679)
03-07 05:43:37.084 22328 22328 E AndroidRuntime: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2856)
03-07 05:43:37.084 22328 22328 E AndroidRuntime: at android.app.ActivityThread.-wrap11(Unknown Source:0)
03-07 05:43:37.084 22328 22328 E AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1589)
03-07 05:43:37.084 22328 22328 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:106)
03-07 05:43:37.084 22328 22328 E AndroidRuntime: at android.os.Looper.loop(Looper.java:164)
03-07 05:43:37.084 22328 22328 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:6494)
03-07 05:43:37.084 22328 22328 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
03-07 05:43:37.084 22328 22328 E AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
03-07 05:43:37.084 22328 22328 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
03-07 05:43:37.084 22328 22328 E AndroidRuntime: Caused by: java.lang.ClassNotFoundException: Didn't find class "org.haxe.extension.deeplinking" on path: DexPathList[[zip file "/data/app/com.tembac.bichitosMaker-GaYCF_knD2vLWBdL-CFL-A==/base.apk"],nativeLibraryDirectories=[/data/app/com.tembac.bichitosMaker-GaYCF_knD2vLWBdL-CFL-A==/lib/arm, /system/fake-libs, /data/app/com.tembac.bichitosMaker-GaYCF_knD2vLWBdL-CFL-A==/base.apk!/lib/armeabi, /system/lib, /vendor/lib]]
03-07 05:43:37.084 22328 22328 E AndroidRuntime: at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:125)
03-07 05:43:37.084 22328 22328 E AndroidRuntime: at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
03-07 05:43:37.084 22328 22328 E AndroidRuntime: at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
03-07 05:43:37.084 22328 22328 E AndroidRuntime: at android.app.Instrumentation.newActivity(Instrumentation.java:1174)
03-07 05:43:37.084 22328 22328 E AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2669)
03-07 05:43:37.084 22328 22328 E AndroidRuntime: ... 9 more
03-07 05:43:37.089 790 2082 W ActivityManager: Force finishing activity com.tembac.bichitosMaker/org.haxe.extension.deeplinking
03-07 05:43:37.092 790 806 I ActivityManager: Showing crash dialog for package com.tembac.bichitosMaker u0
I think something is wrong with my java code but I’m sure what.
package org.haxe.extension;
import android.app.Activity;
import android.content.res.AssetManager;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.view.View;
import org.haxe.extension.Extension;
import android.net.Uri;
public class DeepLinking extends Extension {
private static String urlLinked = "no link yet.";
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Extension.callbackHandler.post(new Runnable() {
@Override public void run() {
//setContentView(Extension.mainView);
// Get the intent set on this activity
Intent intent = Extension.mainActivity.getIntent();
// Get the uri from the intent
Uri uri = intent.getData();
// Do not continue if the uri does not exist
if (uri == null) {
return;
}
final String dataString = intent.getDataString();
if(dataString == null)
{
urlLinked = dataString;
}
}
});
}
public static String linkedUrl () {
return urlLinked;
}
}
Or maybe the problem is on the manifest:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="org.haxe.extension.extension" >
<application>
<activity android:name=".mainActivity"
android:launchMode="singleTask">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="http"
android:host="tembac.com"
android:pathPrefix="/breed" />
<data android:scheme="http"
android:host="www.tembac.com"
android:pathPrefix="/breed" />
</intent-filter>
</activity>
</application>
</manifest>
