我正在制作一款android游戏https://code.google.com/p/something-soft/,我的日志猫说它试图激发游戏的意图,但随后主线程似乎死了(和ActivityNotFoundException),然后似乎冻结。
在代码库中,我已经提交了所有文件,除了/bin…包括最近的logcat输出(/trunk/KingLand/log.txt)和调试器输出(/trunk/KingLand/debug.txt)
我正在运行的模拟器是Android平台2.1-update1与2024mb内存,如果这真的会导致任何问题(我不确定)
感谢您的帮助。
编辑: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>
package属性应该是activity将要所在的包。
在你的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"Activity在com.Something.Soft
你还应该遵循代码约定,包名是全小写的
您的包在活动之间是不同的。假设"com.Something.Soft."包是你的游戏活动所在,将package="android.app"
更改为package="com.Something.Soft"
。
您也可以在定义活动的地方显式地拼出全名,即<activity android:name="com.Something.Soft.Game"