appcelerator titanium_prep.macos Mac OSX上的Android模块构建失败

时间:2016-08-15 05:19:16

标签: android macos appcelerator appcelerator-titanium appcelerator-studio

我正在尝试在CommonJS中构建Appcelerator Studio模块。

遵循这个食谱:

  1. 文件>新>新的移动模块项目
  2. 将项目名称设置为testmodule
  3. 将该位置保留为默认位置
  4. 将模块ID设置为au.com.test.testmodule
  5. 将Titanium SDK版本设置为5.3.1.GA
  6. 将部署目标设置为Android
  7. 点击Next,然后点击Finish
  8. 这将创建一个名为testmodule的新模块。

    在此文件夹下有一个名为assets的文件夹,在其中创建一个名为au.com.test.testmodule.js的新文件。这会将模块标记为CommonJS模块。

    在此文件中,只需创建一个空函数并将其导出

    function test() {
      Ti.API.debug('test');
    }
    
    module.exports = test;
    

    从命令行输入:

    ant
    

    这将尝试构建模块。

    在输出中,您将看到蚂蚁目标js.compile,这将有一条错误消息

      

    [exec] [DEBUG]“/ Users / chris / Library / Application Support / Titanium / mobilesdk / osx / 5.3.1.GA / android / titanium_prep.macos”au.com.example.testmodule / testmodule / android / build / generated / js au.com.example.testmodule.js

         

    [exec] [错误]参数不够。

         

    [exec] [错误]无法为包装准备JavaScript。错误代码1。

         

    [exec]结果:1

    像以下一样运行ant:

    ant -debug -logfile build.log
    

    问题似乎是一个名为titanium_prep.macos的可执行文件。

    如果您运行命令

    "/Users/chris/Library/Application Support/Titanium/mobilesdk/osx/5.3.1.GA/android/titanium_prep.macos" au.com.example.testmodule /testmodule/android/build/generated/js au.com.mobilogica.testmodule.js
    

    它会给出错误Not enough arguments。如果再添加一个任何参数,它将在不给出该消息的情况下运行。

    当然,由于参数是伪造的,它不会生成正确的代码。

    似乎titanium_prep.macos需要4个参数,但现在只传递了3个参数。

    1. au.com.example.testmodule
    2. / testmodule /机器人/建造/生成/ JS
    3. au.com.example.testmodule.js
    4. 系统:

      • Mac OSX 10.10.5
      • XCode 6.1
      • Appcelerator CLI 5.4.0
      • Appcelerator SDK 5.3.1

      如果使用3.5.1.GA生成示例相同的模块,则可以正常工作。

      我也在4.4系列的SDK中尝试了这一点,并遇到了同样的问题。

0 个答案:

没有答案