1

大家,对不起我的英语不好..

我想问“在ANE中管理资源的适当方法是什么”??

我已经导出了 jar-library,并制作了 ANE,然后从 Air Mobile 调用。(当我从 Eclipse 导出时,我检查了 include-resource-option。)当我在设备上调试时,Java 的 R.resource 似乎被 R.resource air made 覆盖。

例如,我添加了 FREFunction 返回资源值。如果我引用并显示 string.app_name,它会显示 Air-Project 名称的 string.app_name。在我将 string.test 添加到 Java 中的资源后,然后从 apk 显示它,没有任何价值。

在 ANE 中管理资源的适当方法是什么。

参考: http: //www.adobe.com/devnet/air/native-extensions-for-air/extensions/vibration.html

public class Native_xxxxxxx implements FREFunction {

    private Resources res;

    public FREObject call(FREContext arg0, FREObject[] arg1) {

        try {

            Activity activity = arg0.getActivity();

            res = activity.getResources();

            return FREObject.newObject(res.getString(arg0.getResourceId("string.app_name ")));

            //return FREObject.newObject(res.getString(arg0.getResourceId("string.test"))) ;

            //return FREObject.newObject(res.getString(R.string.test));

        } catch ( Exception ex ) {

        }
        return null;

    }

}

附加信息:

我意识到一件事,在解压缩 .jar 之后,它包含 res-folder,但在解压缩 .ane 之后,它不包含 res-folder。

我猜,这意味着 adt 命令无法包含 res 文件夹。

我的命令: adt -package -target ane ANExxx.ane ane.xml -swc ANExxx.swc -platform Android-ARM library.swf res Nativexxx.jar -platform default library.swf Nativexxx.jar

4

1 回答 1

0

像这样创建一个构建文件夹:

/build
    /ane
        myANEInterface.swc
        catalog.xml
        extension.xml
        /Android-ARM
                    myANE.jar
                    library.swf
                    /res
                        resource.xml

注意 res 文件夹有你的资源文件的副本。

然后从构建文件夹之外使用它,请注意最后的点:

adt -package -storetype PKCS12 -keystore ./mycert.p12 -storepass yourpassword -tsa none -target ane myANE.ane ./build/ane/extension.xml -swc ./build/ane/myANEinterface.swc -platform Android-ARM -C ./build/ane/Android-ARM/ .
于 2014-01-17T18:38:07.640 回答