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"