最近剛開始學android,在建立項目時專門去掉了自動生成activity選項,想自己完全重新寫一下。
建好項目后,在src目錄下是沒有包的,我自己建了一個包,建立類,繼承activity,覆寫oncreate函數,然后建立對應的布局XML文件,然后AndroidManifest.xml文件中注冊activity,然后運行,運行時總是出錯,錯誤如下:
警告:dalvikvm(22852): threadid=1: thread exiting with uncaught exception (group=0x40015568)
錯誤:AndroidRuntime(22852): FATAL EXCEPTION: main
錯誤:07-22 22:38:42.229: E/AndroidRuntime(22852): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{(跟你的activity...余下省略)
看了錯誤的大概意思是我寫的activity找不到,但看在Manifest的activity部分是正確的,后來仔細對比了一下我這個工程與自動生成的工程的差異,發現我的src下的activity包名與gen下的包名不同,而自動生成的包名是相同的,GEN下的包名是我建立工程時填寫的包名,然后我修改GEN下的包名(應該直接修改SRC下的包名就正確了,但我希望保留SRC下的包名),可是修改后總是不能刪除原來的包,系統總是自動生成,后來我想系統多半是根據Manifest里面的包生成的包名,故修改了Manifest文件里的package名字,如下所示,改成與SRC下activity里一致,然后錯誤解決。
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.albert.activity"