Файлы Java не найдены, которые расширяют CordovaActivity. при использовании "кордовой сборки"

Мой компьютер - это Windows 8 64bit, я устанавливаю платформу corova и android для своего проекта, я создал свой проект с помощью ввода cordova create hello com.example.hello HelloWorld и cordova platform add android но когда я запустил cordova build, он показывает ниже ошибку:

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

Я искал в Интернете, но еще не нашел решение. Какая проблема?

Ответ 1

В Eclipse или другом редакторе перейдите в исходный файл .java под платформами/android/src/и убедитесь, что класс расширяет CordovaActivity (возможно, ранее он расширил DroidGap).

Ответ 2

У меня была такая же ошибка, когда я клонировал свой репозиторий из другого проекта. Я решил это, удалив платформы и добавив их снова.

Ответ 3

Как раз по связанной теме, касающейся PhoneGap 3.2, вызывающей ту же ошибку, скорее всего, вы, вероятно, испортили приложение при настройке и попытке запустить его изначально

Что сработало для меня, так это удалить сгенерированные файлы платформы Android и снова запустить команду RUN. Поэтому из домашнего каталога проекта PhoneGap выполните следующие

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

Я работаю над Macbook Pro с OSX версии 10.9

Надеюсь, это поможет кому-то!

Ответ 4

Файл .java с активностью, расширяющей значение CordovaActivity, должен быть точно в com.example.app - как указано в теге config.xml id = "com.example.app".

Это изменилось в 3.2.0 - отправлено сообщение об ошибке: https://issues.apache.org/jira/browse/CB-5515

Ответ 5

У меня была такая же проблема (хотя и на Ubuntu), и я попробовал ответ Hyperizer, который должен был сработать... но для меня это не повлияло. Примечание. У меня была ошибка после обновления кордовы (от 3.0.9 до 3.4.0-0.1.3), поэтому мои сгенерированные папки с платформами не синхронизировались с последней версией кордовы.

Я нашел самую чистую вещь (и это сработало для меня) - удалить ваш каталог /platform/android (в соответствии с ответом cornelius... но мое внимание - это кордова), а затем воссоздать с кордорой, чтобы вы знали все актуально и соответствует текущей версии кордовы.

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

Ваша папка android воссоздана, и теперь попробуйте создать и запустить снова.

cordova build android
cordova emulate android

Недостаток сдувания и воссоздания папки платформы Android - это то, что вам нужно будет повторно применить любые настройки, которые вы, возможно, сделали для источника android... (мне не приходилось благодарно), но тогда вы должны быть способный вытащить это из вашего git и т.д. По крайней мере теперь вы работаете над чистой и аккуратной обновленной сборкой.

Ответ 6

Все, что вам нужно сделать, это удалить платформу платформы платформы roova rm android и повторно добавить платформу, набрав платформу кордовы add android, и ошибка уходит

Ответ 7

Я наткнулся на "решение" для тех, кто использует Framework, который "скрывает" расширение CordovaActivity, т.е. MainActivity выглядит следующим образом:

public class MainActivity extends GDCordovaActivity {...}

где GDCordovaActivy - это ваша Framework-активность, расширяющая CordovaActivity.

Просто добавьте файл "foo.java" в проект, содержащий только комментарий:

/** extends CordovaActivity */

Поскольку кордовая структура анализирует файл и не распознает комментарии, вы можете вызвать cordova android prepare и т.д. без каких-либо ошибок.

Ответ 8

Это может произойти, если ваши id и android-packageName в config.xml не совпадают.

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

Ответ 9

У меня было слишком много настроек и не хотелось воссоздавать платформы.

Решено это, изменив widget id в defaults.xml на новое имя пакета (я изменил значение по умолчанию io.hellocordova в мою собственную структуру пакета)

Ответ 10

Эта ошибка произошла, когда я изменяю имя идентификатора пакета из файла config.xml, например io.cordova..etc, на другое имя пакета, поэтому я решил его, удалив платформу android и изменив информацию о версии и имя пакета из config file и запустить команду android cordova platform add android

Ответ 11

Я исправил эту проблему с помощью reset среды JAVA.

    $ sudo update-alternatives --config java

выберите номер для /usr/lib/jvm/java -1.8.0-openjdk-amd64.

Нажмите enter, чтобы сохранить текущий выбор [*], или введите номер выбора:

Чтобы выбрать компилятор javac по умолчанию, выполните следующую команду.

    $ sudo update-alternatives --config javac

Если вы предпочитаете использовать gui вместо командной строки, вы можете вместо этого выполнить galternatives и определить версии программного обеспечения по умолчанию со следующим диалогом.

    $ sudo galternatives

Ответ 12

Эта проблема возникает из-за отсутствия файла MainActivity.Java Обычно он находится на следующем пути.

[Имя приложения]\platform\android\src\com

Здесь он должен иметь имя папки на основе пространства имен, которое вы указали. Предположим, что я дал пространство имен как com.passion.oilfreerecipes Так что должна быть папка страсть → OilfreeRecipes

И внутри их вы должны иметь MainActivity.Java.

Он очищается в моем приложении, когда я очищаю решение. Вы можете скопировать и вставить из другого проекта и изменить mainActivity.Java на основе ваших потребностей.