Nessun file Java trovato che estenda CordovaActivity. quando usi “cordova build”

Il mio computer è Windows 8 a 64 bit, installo cordova e piattaforma Android per il mio progetto, ho creato il mio progetto cordova create hello com.example.hello HelloWorld e la cordova platform add android cordova create hello com.example.hello HelloWorld cordova platform add android ma quando cordova create hello com.example.hello HelloWorld cordova build , mostra sotto l’errore:

[Error: No Java files found which extend CordovaActivity.]

ho cercato nel web ma non ho ancora trovato la soluzione, qual è il problema?

Ho avuto lo stesso errore quando ho clonato il mio repository da un altro progetto. L’ho risolto rimuovendo le piattaforms e aggiungendolo di nuovo.

In Eclipse o in un altro editor, vai nel file di origine .java sotto piattaforms / android / src / e assicurati che la class estenda CordovaActivity (potrebbe invece aver esteso DroidGap in precedenza).

Solo su un argomento correlato relativo a PhoneGap 3.2 che causa lo stesso errore, è probabile che probabilmente hai incasinato l’app durante la configurazione e provando a farlo funzionare inizialmente

Ciò che ha funzionato per me è stato rimuovere i file della piattaforma Android generati e eseguire nuovamente il comando RUN. Pertanto, dalla home directory del tuo progetto PhoneGap, procedi come segue

 cd platforms sudo rm -rf android cd .. sudo phonegap local run android --emulator 

Sto lavorando su un MacBook Pro con OSX versione 10.9

Spero che questo aiuti qualcuno!

Tutto quello che devi fare è rimuovere la piattaforma cordova platform rm android e riaggiungere la piattaforma digitando la piattaforma cordova aggiungere Android, e l’errore va via

Il file .java con l’attività che estende CordovaActivity deve trovarsi esattamente in com.example.app, come specificato nel tag id = “com.example.app” di config.xml.

Questo è cambiato in 3.2.0 – ha presentato una segnalazione di bug: https://issues.apache.org/jira/browse/CB-5515

Ho avuto lo stesso problema (anche se su Ubuntu) e ho provato la risposta di Hyperizer, che avrebbe dovuto funzionare … ma senza alcun effetto per me. Nota Ho avuto l’errore dopo l’aggiornamento di cordova (da 3.0.9 a 3.4.0-0.1.3), e quindi le mie cartelle di piattaforma generate erano fuori sincrono con l’ultima versione di cordova.

Ho trovato la cosa più pulita da fare (e questo ha funzionato per me) è quello di rimuovere la tua / piattaforms / directory android (come per risposta di Cornelius … ma il mio objective è Cordova), e quindi ricreare con cordova così sai che tutto è su ad oggi e in linea con la versione attuale di Cordova.

 cd platforms rm -rf android cd .. cordova platform add android 

La tua cartella Android viene ricreata e ora prova a creare e a eseguire nuovamente.

 cordova build android cordova emulate android 

Il rovescio della medaglia di soffiare via e ricreare la cartella della piattaforma Android è che dovrai riapplicare le personalizzazioni che potresti aver fatto alla sorgente Android … (non dovevo ringraziare) ma poi dovresti riuscire a tirare questo dal tuo git ecc. Almeno ora stai lavorando ad una costruzione pulita e ordinata fino ad oggi.

Mi sono imbattuto in una “soluzione” per chiunque utilizzi un Framework che “nasconda” l’estensione di CordovaActivity, ovvero che MainActivity si presenta così:

 public class MainActivity extends GDCordovaActivity {...} 

dove GDCordovaActivy è la tua attività quadro che estende CordovaActivity.

Basta aggiungere un file “foo.java” al progetto contenente solo un commento come questo:

 /** extends CordovaActivity */ 

Poiché il framework cordova analizza il file e non riconosce i commenti, potrai chiamare cordova android prepare ecc. Senza errori.

Questo può accadere se il tuo id e il tuo android-packageName in config.xml non corrispondono.

android-packageName="com.example.app" id="com.example.app"

Ho avuto troppe personalizzazioni e non volevo ricreare le piattaforms.

Risolto questo cambiando l’ widget id del widget id in defaults.xml con il nuovo nome del pacchetto (ho cambiato il default io.hellocordova nella mia struttura del pacchetto)

Questo errore si è verificato quando ho cambiato il nome dell’ID del pacchetto da config.xml, ad esempio io.cordova..etc con un altro nome di pacchetto, quindi l’ho risolto rimuovendo la piattaforma di Android e cambiato le informazioni sulla versione e il nome del pacchetto dal file di configurazione, ed eseguire comando Android Cordova Platform aggiungere Android

Ho risolto questo problema resettando l’ambiente JAVA.

  $ sudo update-alternatives --config java 

scegli il numero per /usr/lib/jvm/java-1.8.0-openjdk-amd64.

Premi invio per mantenere la scelta corrente [*] o digita il numero di selezione:

Per scegliere un compilatore javac predefinito, eseguire il seguente comando.

  $ sudo update-alternatives --config javac 

Se preferisci usare una GUI al posto della riga di comando, puoi invece eseguire galternatives e definire le versioni di default del software con la seguente finestra di dialogo.

  $ sudo galternatives 

Questo problema sta causando la mancanza di MainActivity.Java File Generalmente risiede sul percorso sottostante.

[Nome applicazione] \ piattaforms \ android \ src \ com

Qui dovrebbe avere il nome della cartella in base allo spazio dei nomi che hai fornito. Supponiamo di aver dato namespace come com.passion.oilfreerecipes Quindi dovrebbe esserci una passione per le cartelle -> OilfreeRecipes

E dentro di loro dovresti avere MainActivity.Java.

Si cancella nella mia domanda mentre pulisco la soluzione. È ansible copiare e incollare da un altro progetto e modificare mainActivity.Java in base alle proprie esigenze.