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

Popular posts from this blog

Assign one article to one user - Joomla! Forum - community, help and support

Catalogue Size

The "inactive" category