Эмулятор Android показывает ошибку, когда 2 приложения с одинаковым именем действия

#android #android-activity #emulation

#Android #android-активность #эмуляция

Вопрос:

У меня есть 2 проекта в моем Eclipse. У обоих из них есть действие под названием «MainActivity». Странно то, что когда я попытался запустить 2-е приложение, эмулятор выдал ошибку и указал на нее 1-му приложению. Я могу обойти эту проблему, изменив название действия на что-то другое. Тогда все будет хорошо.

Я полагаю, что это всего лишь проблема эмулятора. Я еще не тестировал это, но я не могу представить, что это происходит на реальных устройствах, что сделает Android полностью непригодным для использования.

Но все же мне нужно использовать эмулятор, и я бы хотел сохранить имя MainActivity. У кого-нибудь был такой же опыт раньше? Заранее спасибо.

Ответ №1:

У вас также одинаковое имя пакета?

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

Обновить:

В манифесте package атрибут добавляется к name атрибуту действия. В сочетании они должны совпадать с вашим полным именем класса.

 <manifest package="com.myapp">
    <activity android:name=".MyActivity"/>
</manifest>
  

Комментарии:

1. Нет, название пакета отличается. 🙁

2. Оказалось, что вы правы — не имя пакета приложения, а имя пакета в манифесте. Это должно быть что-то вроде android:name=»com.example.appone. MainActivity» (имя пакета имя класса) или это будет проблемой. Я этого не знал, все мои приложения используют только имя класса. Какая потенциальная опасность!

3. В манифесте manifest/package добавляется activity/name и должно совпадать с именем пакета вашего класса.