在钛中创建模块:可创建模块注释不起作用



我正在尝试构建自己的钛模块。为此,我创建了一个 UncloudedModule.java 文件:

@Kroll.module(name="Unclouded", id="vub.ac.be.unclouded")
public class UncloudedModule extends KrollModule {
    // Standard Debugging variables
    private static final String TAG = "UncloudedModule";
    public UncloudedModule() {
        super();
    }
    public UncloudedModule(TiContext context) {
        super(context);
    }
    @Kroll.onAppCreate
    public static void onAppCreate(TiApplication app) {
    }
}

和一个 UncloudedProxy.java 文件:

@Kroll.proxy(creatableInModule = UncloudedModule.class)
public class UncloudedProxy extends KrollProxy {
    private final Unclouded unclouded;

    // Constructor
    public UncloudedProxy() {
        super();
        unclouded = Unclouded.getInstance();
    }
    @Kroll.method
    public Network goOnline() {
        return unclouded.goOnline();
    }
    @Kroll.method
    public void goOffline() {
        unclouded.goOffline();
    }
}

正如在 Android Module 开发指南中可以读到的那样,可创建的 InModule 注释应该自动将> createUnclouded> 方法添加到 UncloudedModule 中。但是,这不会发生,因为找不到.createUnclouded方法,而可以使用其他方法(在UncloudedModule中定义)。我的设置:

一些附加信息:

  • 应用类型:移动
  • 钛合金SDK:3.1.3 (13-09-18 12:00 222f4d1)
  • 平台和版本:Android 4.2.2
  • 主机操作系统:OSX 10.8.4
  • 工作室:钛命令行界面,CLI 版本 3.2.1,钛 SDK 版本 3.2.1.GA

对于那些有同样问题的人,这篇文章帮助我解决了它:http://developer.appcelerator.com/question/153993/how-to-create-a-proxy#answer-264746

需要删除 bin、库和构建文件夹中的文件。然后做一个 干净,在日食中。毕竟,它往往会建立起来。

就我而言,只需删除build/*和libs/*然后干净就可以了!

最新更新