在AIR4.0版本之前,ANE内无法使用R*,操作资源仅能使用getResourceID(). 对于接SDK来说尤为头疼.

不过4.0以后可以通过在打包时候指定platform.xml来直接使用R*访问资源

Adobe官网相关链接

棒子的一个视频

其中需要注意的两点

1` Android项目工程要设置为Library

2` 打出的Jar包删除R*相关的Class  一键脚本参见: ANE 从入门到精通 --- 一键打包ANE

实战一下:

Step1 创建一个Android项目,注意选择Application,不要选择Library 因为Library不生成相应的文件结构和AndroidManifest.xml

Step2 更改项目为Library

Step3 新增或者更改 一个Fun,使其通过R*访问一个资源 ,这里访问的是  R.string.hello

package com.testzone.t2;

import android.content.Intent;
import android.widget.Toast;
import com.adobe.fre.FREContext;
import com.adobe.fre.FREFunction;
import com.adobe.fre.FREObject;

public class T1ANEFun implements FREFunction {

    @Override
    public FREObject call(FREContext freContext, FREObject[] freObjects) {
        Toast.makeText(freContext.getActivity(), "call t1", Toast.LENGTH_SHORT).show();

        try {
            String hello = freContext.getActivity().getString(R.string.hello);
            Toast.makeText(freContext.getActivity(), "Hello is : " + hello, Toast.LENGTH_SHORT).show();
        } catch (Exception e) {
            Toast.makeText(freContext.getActivity(), "Error is : " + e.toString(), Toast.LENGTH_SHORT).show();
        }return null;
    }
}

Step4 编译打出Jar包

该操作参见 ANE 从入门到精通 --- 简单的Whatever

Step5 删除Jar包中所有关于R*的部分

Step6 将Jar包拷贝到 ANE生成目录

Step7 ANE生成目录下创建platform.xml

<platform xmlns="http://ns.adobe.com/air/extension/19.0">
    <packagedResources>
        <packagedResource>
            <packageName>com.testzone.t2</packageName>
            <folderName>res</folderName>
        </packagedResource>
    </packagedResources>
</platform>

具体含义请参照 Adobe官网相关链接

Step8 修改打包参数加入

-platformoptions platform.xml

详情参见ANE 从入门到精通 --- 一键打包ANE

ANE 从入门到精通 --- 使用R* 访问资源的更多相关文章

  1. ANE 从入门到精通 --- 一键打包ANE

    每次都要执行好几步才能编译出ANE很是麻烦,使用如下脚本 一键完成复杂的流程 REM 好压HaoZipC文件所在的位置,7Zip,WinRAR等均可 Set Zip=D:\"Program ...

  2. ANE 从入门到精通 --- 简单的Whatever

    Flash还是很好的,不过国内没人用. Whatever了. 以下是ANE制作中的一点笔记 分享下 也留作备份 Step1 编写As3 Library package com.eran { impor ...

  3. 6、ASP.NET MVC入门到精通——ASP.Net的两种开发方式

    本系列目录:ASP.NET MVC4入门到精通系列目录汇总 目前,ASP.NET中两种主流的开发方式是:ASP.NET Webform和ASP.NET MVC.从下图可以看到ASP.NET WebFo ...

  4. 14、ASP.NET MVC入门到精通——Ajax

    本系列目录:ASP.NET MVC4入门到精通系列目录汇总 Unobtrusive Ajax使用方式(非入侵式) 非入侵式,通俗来讲:就是将嵌入在Html中的JavaScript全部取出来,放在单独的 ...

  5. 15、ASP.NET MVC入门到精通——MVC-路由

    本系列目录:ASP.NET MVC4入门到精通系列目录汇总 Routing(路由) – URL url 作为广泛使用的Web用户接口,需要被重视 好的Url应该满足如下条件: URL应为获取某种资源提 ...

  6. Redis从入门到精通:初级篇

    原文链接:http://www.cnblogs.com/xrq730/p/8890896.html,转载请注明出处,谢谢 Redis从入门到精通:初级篇 平时陆陆续续看了不少Redis的文章了,工作中 ...

  7. 【转】Zabbix 3.0 从入门到精通(zabbix使用详解)

    [转]Zabbix 3.0 从入门到精通(zabbix使用详解) 第1章 zabbix监控 1.1 为什么要监控 在需要的时刻,提前提醒我们服务器出问题了 当出问题之后,可以找到问题的根源   网站/ ...

  8. Redis从入门到精通:初级篇(转)

    原文链接:http://www.cnblogs.com/xrq730/p/8890896.html,转载请注明出处,谢谢 Redis从入门到精通:初级篇 平时陆陆续续看了不少Redis的文章了,工作中 ...

  9. MyBatis从入门到精通(第9章):Spring集成MyBatis(下)

    MyBatis从入门到精通(第9章):Spring集成MyBatis(下) springmvc执行流程原理 mybatis-spring  可以帮助我们将MyBatis代码无缝整合到Spring中.使 ...

随机推荐

  1. java基础-接口

    浏览以下内容前,请点击并阅读 声明 接口是java语言中的一个引用类型,和类一样,接口可以包含常量,方法签名,默认方法,静态方法和嵌套类型.含有方法主体的只有其中的默认方法和静态方法.接口不能被实例化 ...

  2. [USACO] 铺放矩形块 题解

    题目大意: 给定4个矩形块,找出一个最小的封闭矩形将这4个矩形块放入,但不得相互重叠.所谓最小矩形指该矩形面积最小. 思路: 枚举矩形的安放顺序,再按照题目所给的图判断即可,主要要想到枚举. 代码: ...

  3. Leetcode Candy

    There are N children standing in a line. Each child is assigned a rating value. You are giving candi ...

  4. [Note] Software Testing

    Mocking: Difference between error and failure: TDD: BDD:

  5. svn 修改文件的二进制或文本标记

    在添加一个文件的时候,svn自动标记成了二进制文件.当时也没在意就提交了.结果修改了之后不能进行svn diff操作,说是二进制文件不能进行diff操作.在网上找了个方法,修改这个文件的标记属性,把这 ...

  6. STM32之位绑定

    有32个美女给你,你32个一起处理是不是有点棘手呀??没事..那就一个一个“慢慢”来..为何我这里慢慢要加双引号?因为其实处理一个比处理32个要快很多很多..好,停住这美好的遐想,来认识下<位绑 ...

  7. 榮耀6 Plus將是一部沒有對手的手機

    華為榮耀官方微博發佈消息正式確定了年度旗艦新品將命名為榮耀6 Plus,據稱,該機將是“2014年度最最旗艦手機”,並將集“科學與美學一身”.“探索幾何與視覺極限”,同時,官方微博還不低調地宣稱該機將 ...

  8. struts基于ognl的自动类型转换需要注意的地方

    好吧,坎坷的过程我就不说了,直接上结论: 在struts2中使用基于ognl的自动类型转换时,Action中的对象属性必须同时添加get/set方法. 例如: 客户端表单: <s:form ac ...

  9. Unity学习疑问记录之Awake和Update

    Awake() 当一个脚本实例被载入时Awake被调用. Awake用于在游戏开始之前初始化变量或游戏状态.在脚本整个生命周期内它仅被调用一次.Awake在所有对象被初始化之后调用,所以你可以安全的与 ...

  10. 安卓初級教程(1):@Database(1)

    package com.example.android.db01; import android.app.Activity; import android.content.ContentValues; ...