2016-06-02 6 views
4

Ich habe eine einfache Beispielanwendung mit CodeNameOne ohne Änderungen erstellt. Zertifikat- und Bereitstellungsdatei ist verfügbar und als Projekteigenschaften konfiguriert.CodeName Ein Fehler: Symbol nicht gefunden

IDE Eclipse Desktop OS: Windows

Executing 'Send IOS Debug Build' starts the server build and shows the following error: /var/folders/p7/d3z112yd0156kxkm2p21p8ym0000gn/T/build5327647990993852705xxx/stub/TestBuildDeployStub.java /var/folders/p7/d3z112yd0156kxkm2p21p8ym0000gn/T/build5327647990993852705xxx/stub/TestBuildDeployStub.java:14: error: cannot find symbol private TestBuildDeploy i; ^symbol: class TestBuildDeploy location: class TestBuildDeployStub /var/folders/p7/d3z112yd0156kxkm2p21p8ym0000gn/T/build5327647990993852705xxx/stub/TestBuildDeployStub.java:23: error: cannot find symbol i = new TestBuildDeploy(); ^symbol: class TestBuildDeploy location: class TestBuildDeployStub Note: /var/folders/p7/d3z112yd0156kxkm2p21p8ym0000gn/T/build5327647990993852705xxx/stub/TestBuildDeployStub.java uses or overrides a deprecated API. Note: Recompile with -Xlint:deprecation for details. 2 errors

Dies ist die Java-Klasse:

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() { 
    } 

} 
+0

Wenn ich die Demo-App DrSbaitso verwende und das Paket von com.codename1.demos.sbaitso in com.canda.mario.myapp umbenenne, bekomme ich den gleichen Fehler für die DrSbaitso.class? Irgendwelche Ideen – Mario

Antwort

4

Wenn Sie das Paket/Klasse eines Codename Eine Anwendung ändern, nachdem es erstellt wird Sie müssen Ändern Sie es überall im Projekt und in der codenameone_settings.properties, weshalb wir empfehlen, es nie zu ändern.

Wir machen diesen Prozess nicht einfach, da Sie beim Erstellen eines Paketnamens mit dem Leben verheiratet sind. Dies wird verwendet, um Sie eindeutig in den Stores zu identifizieren und kann nicht geändert werden, sobald eine App eingereicht wurde. Sie müssen also verstehen, dass dies nichts ist, was Sie tun sollten. Geben Sie dem Paketnamen eine gründliche Überlegung, bevor Sie die App erstellen!

+0

Wenn Sie den Paketnamen ändern müssen, abgesehen von der 'codenameone_settings.properties' Datei und den Java Paketen (zum Beispiel' com.myapp.example', gibt es irgendwo sonst den Paketnamen zu ändern? – Schreiby

+0

Das hängt davon ab Ihre IDE sollte aber in der Regel es sein https://www.codenameone.com/blog/deploy-same-mobile-app-template-multiple-times.html –