Flurry Agent Crashing App - Android Native Extension
i creating android native extension game. need able access 3rd party sdk (for have source files) written in java.
the sdk uses flurry analytics recording events , integrated sdk source code.
i have managed working ane can communicate , forth between game , java sdk, however, when sdk tries initialize it's reporting class, app "initialization" method executing terminates prematurely. doesn't crash app, , no exceptions reported in code, since method terminates prematurely, initialization code follows doesn't run, blowing entire sdk.
in android debug monitor logcat following output when reporting class created:
12-28 15:05:26.488: i/dalvikvm(1776): not find method com.flurry.android.flurryagent.onendsession, referenced method com.bigfishgames.bfglib.bfgreporting.destroy
12-28 15:05:26.488: w/dalvikvm(1776): vfy: unable resolve static method 1973: lcom/flurry/android/flurryagent;.onendsession (landroid/content/context;)v
12-28 15:05:26.488: d/dalvikvm(1776): vfy: replacing opcode 0x71 @ 0x0011
12-28 15:05:26.488: d/dalvikvm(1776): vfy: dead code 0x0014-0016 in lcom/bigfishgames/bfglib/bfgreporting;.destroy ()v
12-28 15:05:26.488: i/dalvikvm(1776): not find method com.flurry.android.flurryagent.onstartsession, referenced method com.bigfishgames.bfglib.bfgreporting.sharedinstance
12-28 15:05:26.488: w/dalvikvm(1776): vfy: unable resolve static method 1975: lcom/flurry/android/flurryagent;.onstartsession (landroid/content/context;ljava/lang/string;)v
12-28 15:05:26.488: d/dalvikvm(1776): vfy: replacing opcode 0x71 @ 0x0067
12-28 15:05:26.488: i/dalvikvm(1776): not find method com.flurry.android.flurryagent.onerror, referenced method com.bigfishgames.bfglib.bfgreporting._logerror
12-28 15:05:26.488: w/dalvikvm(1776): vfy: unable resolve static method 1974: lcom/flurry/android/flurryagent;.onerror (ljava/lang/string;ljava/lang/string;ljava/lang/string;)v
12-28 15:05:26.488: d/dalvikvm(1776): vfy: replacing opcode 0x71 @ 0x0004
12-28 15:05:26.488: d/dalvikvm(1776): vfy: dead code 0x0007-0007 in lcom/bigfishgames/bfglib/bfgreporting;._logerror (ljava/lang/string;ljava/lang/string;ljava/lang/exception;)v
12-28 15:05:26.488: i/dalvikvm(1776): not find method com.flurry.android.flurryagent.onerror, referenced method com.bigfishgames.bfglib.bfgreporting._logerror
12-28 15:05:26.488: w/dalvikvm(1776): vfy: unable resolve static method 1974: lcom/flurry/android/flurryagent;.onerror (ljava/lang/string;ljava/lang/string;ljava/lang/string;)v
12-28 15:05:26.488: d/dalvikvm(1776): vfy: replacing opcode 0x71 @ 0x0000
12-28 15:05:26.488: d/dalvikvm(1776): vfy: dead code 0x0003-0003 in lcom/bigfishgames/bfglib/bfgreporting;._logerror (ljava/lang/string;ljava/lang/string;ljava/lang/string;)v
12-28 15:05:26.488: i/dalvikvm(1776): not find method com.flurry.android.flurryagent.logevent, referenced method com.bigfishgames.bfglib.bfgreporting.logevent
12-28 15:05:26.488: w/dalvikvm(1776): vfy: unable resolve static method 1971: lcom/flurry/android/flurryagent;.logevent (ljava/lang/string;)v
12-28 15:05:26.488: d/dalvikvm(1776): vfy: replacing opcode 0x71 @ 0x0000
12-28 15:05:26.488: d/dalvikvm(1776): vfy: dead code 0x0003-0003 in lcom/bigfishgames/bfglib/bfgreporting;.logevent (ljava/lang/string;)v
12-28 15:05:26.488: i/dalvikvm(1776): not find method com.flurry.android.flurryagent.logevent, referenced method com.bigfishgames.bfglib.bfgreporting.logevent
12-28 15:05:26.488: w/dalvikvm(1776): vfy: unable resolve static method 1972: lcom/flurry/android/flurryagent;.logevent (ljava/lang/string;ljava/util/map;)v
12-28 15:05:26.488: d/dalvikvm(1776): vfy: replacing opcode 0x71 @ 0x0000
12-28 15:05:26.488: d/dalvikvm(1776): vfy: dead code 0x0003-0003 in lcom/bigfishgames/bfglib/bfgreporting;.logevent (ljava/lang/string;ljava/util/map;)v
then when sdk source executes flurryagent.onstartsession, java code stops executing , kicks way out action script code.
i have done reading , thing found similiar this:
check project properties java build path order , export tab make sure flurryagent.jar selected.
in project, have flurryagent.jar added external jar in libraries, , in order , export, @ top of list, under flashruntimeextension.jar , checked.
to create ane jar file, right clicking on project, selecting export, select java/jar file.
export generated class files , resources checked
compress contents of jar file checked
add directory entries checked
and files , folders in project checked.
i opened final .jar file in winrar , flurryagent.jar file libs folder along flashruntimeextensions.jar
does know doing wrong, or not including in file apk (like dependency don't know about)?
i using eclipse mobile developers version: juno service release 1 build id: 20121004-1855 java ide building native extension jar file on windows 7
i building ane using air 3.5.0.840
using flash builder 4.6 build apk
testing on sony ericsson xpeira phone running android 2.3.4
you need extract .class files external jar , insert them anes target jar.
within java jdk's bin directory, you'll find "jar.exe".
you need run:
jar -xf external.jar (or whatever flurry jar called)
this extract .class files in folder format, top-level directory (probaly "com") in same directory external.jar.
now need run:
jar -uf yourjar.jar com
this include of classes, recursively, "yourjar.jar" can used within extension.
More discussions in AIR Development
adobe
Comments
Post a Comment