CodeName One错误:找不到符号。

4

我已经使用CodeNameOne创建了一个简单的示例应用程序,没有进行任何更改。 证书和配置文件已经可用并已配置为项目属性。

IDE:Eclipse 桌面操作系统:Windows

执行“发送IOS调试构建”会启动服务器构建,并显示以下错误: /var/folders/p7/d3z112yd0156kxkm2p21p8ym0000gn/T/build5327647990993852705xxx/stub/TestBuildDeployStub.java /var/folders/p7/d3z112yd0156kxkm2p21p8ym0000gn/T/build5327647990993852705xxx/stub/TestBuildDeployStub.java:14: 错误:找不到符号 private TestBuildDeploy i; ^ 符号: 类TestBuildDeploy 位置:类TestBuildDeployStub /var/folders/p7/d3z112yd0156kxkm2p21p8ym0000gn/T/build5327647990993852705xxx/stub/TestBuildDeployStub.java:23: 错误:找不到符号 i = new TestBuildDeploy(); ^ 符号: 类TestBuildDeploy 位置:类TestBuildDeployStub 注意: /var/folders/p7/d3z112yd0156kxkm2p21p8ym0000gn/T/build5327647990993852705xxx/stub/TestBuildDeployStub.java 使用或覆盖已弃用的API。注意:重新编译使用-Xlint:deprecation获取详细信息。2个错误

这是Java类:

package com.canda.mario.myapp;


import com.codename1.ui.Display;
import com.codename1.ui.Form;
import com.codename1.ui.Dialog;
import com.codename1.ui.Label;
import com.codename1.ui.plaf.UIManager;
import com.codename1.ui.util.Resources;
import com.codename1.io.Log;
import com.codename1.ui.Toolbar;
import java.io.IOException;

/**
 * This file was generated by <a href="https://www.codenameone.com/">Codename One</a> for the purpose
 * of building native mobile applications using Java.
 */
public class TestBuildDeploy {

    private Form current;
    private Resources theme;

    public void init(Object context) {
        theme = UIManager.initFirstTheme("/theme");

        // Enable Toolbar on all Forms by default
        Toolbar.setGlobalToolbar(true);

        // Pro only feature, uncomment if you have a pro subscription
        // Log.bindCrashProtection(true);
    }

    public void start() {
        if(current != null){
            current.show();
            return;
        }
        Form hi = new Form("Hi World");
        hi.addComponent(new Label("Hi World"));
        hi.show();
    }

    public void stop() {
        current = Display.getInstance().getCurrent();
        if(current instanceof Dialog) {
            ((Dialog)current).dispose();
            current = Display.getInstance().getCurrent();
        }
    }

    public void destroy() {
    }

}

如果我使用演示应用程序DrSbaitso并将包从com.codename1.demos.sbaitso重命名为com.canda.mario.myapp,那么对于DrSbaitso.class我会得到相同的错误?有什么想法吗? - Mario
1个回答

4
如果在创建 Codename One 应用程序后更改其包/类,则需要在项目中以及在 codenameone_settings.properties 中的所有位置都进行更改,因此我们建议永远不要更改。由于创建包名称时,您将与生命结合在一起,因此我们并没有使此过程变得容易。这用于在商店中唯一标识您的应用程序,一旦提交应用程序就无法更改,因此您需要了解这不是您应该做的事情... 在创建应用程序之前,请深入考虑包名称!

如果您需要更改软件包名称,除了codenameone_settings.properties文件和Java软件包(例如com.myapp.example)之外,还有其他地方可以更改软件包名称吗? - app-dev
这取决于你的IDE,但通常应该是这样的,请参见https://www.codenameone.com/blog/deploy-same-mobile-app-template-multiple-times.html。 - Shai Almog

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接