Appcelerator Titanium Mobile在哪里将JS交叉编译为本机代码?

时间:2010-07-07 13:48:54

标签: javascript objective-c mobile titanium appcelerator

从问题“How Does Appcelerator Titanium Mobile Work?”我知道JS被交叉编译成本机代码。但这会发生在哪里?我在开源Titanium代码中找不到任何代码。 Appcelerator的网站在该过程的交叉编译部分也非常稀少。

2 个答案:

答案 0 :(得分:2)

在Windows / Android上的Titanium 1.4中,查看C:\ ProgramData \ Titanium \ mobilesdk \ win32 \ 1.4.0 \ android \ compiler.py,你会发现:

def compile_into_bytecode(self,paths):
    jar_path = os.path.join(self.template_dir,"js.jar")
    for package in paths:
        args = [self.java,"-cp",jar_path,"org.mozilla.javascript.tools.jsc.Main","-opt","9","-nosource","-package",package,"-d",self.classes_dir]
        count = 0
        for path in paths[package]:
            # skip any JS found inside HTML <script>
            if path in self.html_scripts: continue
            args.append(path)
            count+=1
            self.compiled_files.append(path)
        if count > 0: run.run(args)

答案 1 :(得分:0)

我相信Titanium Developer会在构建过程中编译它。如果你查看Project / build / android或Project / build / iphone目录,你会看到代码输出。

在Titanium Mobile 1.3中,他们引入了XCode项目生成,因此您现在可以使用XCode打开项目。