Как установить Java ClassPath в Monodroid

1

Я получаю ошибку Java.Lang.NoClassDefFoundError при создании Intent пользовательского класса (Activity). Согласно этому руководству это означает, что класс не найден во время выполнения. Это, безусловно, было найдено во время разработки, поскольку проект успешно компилируется. Я попытался вручную установить путь сборки в Project → Properties → Reference Paths, но ошибка не исчезнет. Я попробовал более простой проект с настраиваемой Activity в том же файле, что и родительская активность, и работает нормально. Где я должен установить Java ClassPath в Mono для Android или что мне делать, чтобы решить эту проблему?

Заранее спасибо.

Теги:
xamarin.android
classpath

2 ответа

1
Лучший ответ

Это не проблема класса. Вам нужно добавить класс в файл манифеста, например:

<activity android:name="yourpackage.YourClass" android:label="@string/your_title" />

Барри

  • 0
    Если я помещу это между тегами <application>, я даже не смогу запустить приложение. Если я помещаю это где-то еще в манифест, я получаю ту же ошибку NoClassDefFoundError.
  • 0
    Вы, должно быть, допустили небольшую ошибку в своем теге <activity>, поскольку добавление действия в манифест (правильно) никогда не должно вызывать проблем. Опубликуйте использованный вами тег <activity> и исключение, которое вы получите при запуске.
Показать ещё 1 комментарий
1

Похоже, вы не зарегистрировали свою деятельность с манифестом. Вы можете сделать это вручную, но лучший подход - украсить ваш класс активности ActivityAttribute, например:

[Activity(Label = "Activity Label", MainLauncher = true)]
public class CustomActivity : Activity

Как только вы это сделаете, запись манифеста будет создана для вас.

  • 0
    Я сделал это без атрибута MainLauncher, так как моя активность используется в ActivityGroup. Это тоже не помогает.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню