Android (исключение ActityNotFoundException) - PullRequest
1 голос
/ 18 апреля 2011

Я работаю над игрой для 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 ]

1 голос
/ 19 апреля 2011

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

В вашем 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

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

1 голос
/ 19 апреля 2011

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

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

...