Category: Develop


FDT 4.0 Profiler Issue

FDT4.0测试版新增的Profiler是我最喜欢的功能之一,通过这一功能可以很方便的排查内存泄漏等问题。最近升级了M4版本后,调试时不能自动弹出播放器窗口的问题解决了。但是Profiler功能却总是没法连接到播放器。经过一番研究,终于发现问题出在Profiler调用的一个ProfilerAgent.swf文件的安全性限制上。在升级的时候,原先的信任路径没有被更新,造成ProfilerAgent没有权限执行。为了避免日后升级出现同样的问题,一劳永逸的方法是直接把eclipse的安装路径添加到信任策略文件上。

附上系统中信任策略文件的地址,关于Flash Player安全性方面的知识可以参看白皮书

Windows

  • For single-user (replace <user> with actual username):
    C:\Users\<user>\AppData\Roaming\Macromedia\Flash Player\#Security\FlashPlayerTrust\
  • For all users on the machine:
    C:\Windows\System32\Macromed\Flash\FlashPlayerTrust\

Mac

  • For single-user (replace <user> with actual username):
    /Users/<user>/Library/Preferences/Macromedia/Flash Player/#Security/FlashPlayerTrust
  • For all users on the machine:
    /Library/Application Support/Macromedia/FlashPlayerTrust

Happy FDTing!

ps. FDT M4改进了编译器,大大加快了编译速度,建议升级。

方法:

第一步,打开FDT安装目录下的eclipse.ini,新增两行:

-Dfile.encoding=utf-8
-Dsun.jnu.encoding=utf-8

第二步,转到你的flex sdk下的bin目录,用文本编辑器打开jvm.config文件。找到“java.args=”开头的那一行,同样添加两个参数,修改好的结果如下:

java.args=-Xmx384m -Dsun.io.useCanonCaches=false -Dfile.encoding=utf-8 -Dsun.jnu.encoding=utf-8

大功告成!

原理:

Eclipse默认编码为操作系统内核的编码,中文Windows下就是GBK。在调试的时候控制台接收Flash Player传递过来的信息又是以utf-8编码发送的,所以形成了我们看到的乱码。通过以上设置把Eclipse和Flex SDK的Java虚拟机参数指定为utf-8编码,这样大家都统一用相同的编码来传送信息,就不会再有乱码出现了。

update:

升级到M4版本后,乱码问题好像解决了。请用这个版本的朋友不要再用我的这个方法了。

最近更新比较少,是因为我捣鼓Mac去了。在Mac系统上一口气把Actionscript、Android和iOS的开发环境搭好,研究了几个mobile开发的框架,还顺便研究了一下SVN和Git的几个软件。想起之前的Flash汉字嵌入助手还没有Mac版,所以抽时间修改发布了一下。

由于是AIR程序,所以基本上都不用怎么改。主要是调整了一下ANT脚本中针对不同系统发布的设置。此外还发现了一个小bug:软件名原先设置的是中文,在Mac打包的时候会报文件找不到的错误。所以只好改成了英文名。感兴趣的朋友可以去Github上看看改动记录。

下载:

Powered by KevinCao.com ©2010 | Platform: WordPress | Theme: Motion
kevincao.com