我跟随 Beginning Android Games 一书,并在第6章的末尾(对于那些熟悉本书的人),我以某种方式搞砸了清单文件,我得到了{{1}在主活动类上。
游戏包含三个包:
com.badlogic.androidgames.framework.mrnom
java.lang.NullPointerException
类<uses-sdk
android:minSdkVersion="5"
android:targetSdkVersion="19" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"></uses-permission>
<uses-permission android:name="android.permission.WAKE_LOCK"></uses-permission>
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MrNomGame"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
位于com.badlogic.androidgames.mrnom包中。如果不是很明显,我对Android开发人员来说是非常新的,我无法理解java和android(清单)如何识别文件位置,其中包括大约80亿个其他问题。
感谢。
编辑:主要活动和Logcat输出:
MrNomGame
根据Robby Pond的建议,我将清单package com.badlogic.androidgames.mrnom;
import com.badlogic.androidgames.framework.Screen;
import com.badlogic.androidgames.framework.impl.AndroidGame;
public class MrNomGame extends AndroidGame {
public Screen getStartScreen() {
return new LoadingScreen(this);
}
}
更新为android:name:
,这是更改后的logcat输出。
android:name=".mrnom.MrNomGame"
答案 0 :(得分:1)
如果清单中的包名称为com.badlogic.androidgames
,则您需要将.MrNomGame
更改为.mrnom.MrNomGame
。清单中的名称与清单中的类名相关。您还可以将活动android:name更改为完全分类的包/类名。
答案 1 :(得分:0)
添加Activity
的绝对传递,而不仅仅是名称。例如:
android:name="com.example.package.MrNomGame"