【问题标题】:Module creation in Titanium: creatableInModule annotation not workingTitanium 中的模块创建:creatableInModule 注释不起作用
【发布时间】:2014-02-15 13:14:58
【问题描述】:

我正在尝试构建自己的 Titanium 模块。为此,我创建了一个 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 模块开发指南中阅读,creatableInModule 注解应该自动将 > createUnclouded > 方法添加到 UncloudedModule。然而这不会发生,因为没有找到 .createUnclouded 方法,而可以使用其他方法(在 UncloudedModule 中定义)。 我的设置:

一些附加信息:

  • 应用类型:手机
  • Titanium SDK:3.1.3 (09/18/13 12:00 222f4d1)
  • 平台&版本:Android 4.2.2
  • 主机操作系统:OSX 10.8.4
  • Titanium Studio:Titanium 命令行界面,CLI 版本 3.2.1,Titanium SDK 版本 3.2.1.GA

【问题讨论】:

  • 我也尝试将 ExampleProxy 复制为另一个代理,但该代理在 Javascript 中也不可用。所以我认为问题不在于代理本身,而在于配置或编译过程。

标签: java android module titanium titanium-mobile


【解决方案1】:

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

需要删除 bin、libs 和 build 文件夹中的文件。然后做一个 干净,在 Eclipse 中。毕竟,它倾向于建立。

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

【讨论】:

    猜你喜欢
    • 2023-02-17
    • 2020-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-15
    相关资源
    最近更新 更多