Android (исключение ActityNotFoundException)

Я работаю над игрой для Android https://code.google.com/p/something-soft/ и мой кот журнала говорит, что он пытается запустить игру, но затем основной поток, кажется, умирает (с и ActivityNotFoundException), а затем, кажется, зависает.

в репозитории кода я отправил все файлы, кроме / bin... включая самые последние выходные данные logcat(/trunk/KingLand/log.txt) и выходные данные отладчика (/trunk/KingLnad/debug.txt)

эмулятор, который я использую, - это платформа Android 2.1-update1 с памятью 2024 МБ, если это действительно может вызвать какие-либо проблемы (я не уверен)

любая помощь будет оценена.

редактировать: AndroidManifest.xml

$<?xml version="1.0" encoding="utf-8"?>
$  <manifest xmlns:android="http://schemas.android.com/apk/res/android"
$        package="android.app"
$        android:versionCode="1"
$        android:versionName="1.0">
$        <application android:icon="@drawable/icon" android:label="@string/app_name">
$        <activity android:name="com.Something.Soft.KingsLand"
$                    android:label="@string/app_name">
$             <intent-filter>
$                   <action android:name="android.intent.action.MAIN" />
$                   <category android:name="android.intent.category.LAUNCHER" />
$             </intent-filter>
$        </activity>
$        <activity android:name=".Tutorial"
$              android:label="@string/tutorial"
$              android:theme="@android:style/Theme.Dialog"/>
$        <activity android:name=".Prefs"
$              android:label="@string/settingsTitle"/>
$        <activity android:name=".Game"     // this is the where the intent should fire to
$              android:label="@string/gameTitle"/>
$        </application>
$</manifest> 

2 ответа

Решение

Атрибут пакета должен быть пакетом, в котором будут находиться ваши действия.

В вашем AndroidManifest.XML тег manifest должен объявить в пакете атрибутов пакет, в котором находятся ваши действия.

Это будет:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.Something.Soft"
    android:versionCode="1"
    android:versionName="1.0">
 //The others attributes.

Вы определили: "package="android.app"" И ваша активность на com.Something.Soft

Вы также должны следовать соглашениям о коде, имена пакетов указаны в нижнем регистре.

Ваши пакеты отличаются между действиями. Предполагая, что "com.Something.Soft." Пакет, где живет ваша игровая активность, измените package="android.app" в package="com.Something.Soft",

В качестве альтернативы вы можете явно указать полное имя, в котором определена деятельность, т.е. <activity android:name="com.Something.Soft.Game"

Другие вопросы по тегам