Need help with C++ native extension for Android
Hello!
I'm trying to build and launch sample native extension written with C++ on Android device.
But thre
I have:
1) Code of native library:
-----------
#include "FlashRuntimeExtensions.h"
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
FREObject nativeFunction(FREContext ctx, void* funcData, uint32_t argc, FREObject argv[])
{
uint32_t length = 12;
const uint8_t* value = (const uint8_t*)"Hello from C";
FREObject retObject;
int res = FRENewObjectFromUTF8(length, value, &retObject);
if (res == FRE_OK) {
return retObject;
} else {
return NULL;
}
}
void ContextInitializer(void *extData, const uint8_t *ctxType, FREContext ctx,
uint32_t *numFunctionsToSet,
const FRENamedFunction **functionsToSet)
{
FRENamedFunction* func = (FRENamedFunction*)malloc(sizeof(FRENamedFunction)*1);
func[0].name = (const uint8_t*)"nativeFunction";
func[0].functionData = NULL;
func[0].function = &nativeFunction;
*functionsToSet = func;
}
void ContextFinalizer(FREContext ctx)
{
return;
}
void NativeCppExtensionInitializer(void** extDataToSet, FREContextInitializer* ctxInitializerToSet,
FREContextFinalizer* ctxFinalizerToSet)
{
extDataToSet = NULL;
*ctxInitializerToSet = ContextInitializer;
*ctxFinalizerToSet = ContextFinalizer;
}
void NativeCppExtensionFinalizer(void* extData)
{
return;
}
-----------
2) ActionScript Library with Extension class:
package com.adobe.hellojni
{
import flash.external.ExtensionContext;
public class HelloJniExtension
{
private static var context:ExtensionContext;
public static function init():void {
if (!context) {
context = ExtensionContext.createExtensionContext("com.adobe.canewithjava", null);
}
}
public static function stringFromJNI():String {
if (context) {
return context.call("stringFromJNI") as String;
}
return null;
}
}
}