更改包名后Android应用程序崩溃

时间:2012-01-19 20:42:46

标签: java android

我更改了应用的软件包名称,现在崩溃了。在清单文件中,我更改了包名称和代码。 这就是logcat所说的:

01-19 21:38:47.466: W/ResourceType(13905): No package identifier when getting value for resource number 0x00000000
01-19 21:38:47.476: W/dalvikvm(13905): threadid=9: thread exiting with uncaught exception (group=0x400205a0)
01-19 21:38:47.476: E/AndroidRuntime(13905): FATAL EXCEPTION: GLThread 10
01-19 21:38:47.476: E/AndroidRuntime(13905): android.content.res.Resources$NotFoundException: Resource ID #0x0
01-19 21:38:47.476: E/AndroidRuntime(13905):    at android.content.res.Resources.getValue(Resources.java:901)
01-19 21:38:47.476: E/AndroidRuntime(13905):    at android.content.res.Resources.openRawResource(Resources.java:826)
01-19 21:38:47.476: E/AndroidRuntime(13905):    at android.content.res.Resources.openRawResource(Resources.java:808)
01-19 21:38:47.476: E/AndroidRuntime(13905):    at com.appboss.min3d.parser.ObjParser.parse(ObjParser.java:60)
01-19 21:38:47.476: E/AndroidRuntime(13905):    at com.appboss.mercurysim.Rocket.initScene(Rocket.java:325)
01-19 21:38:47.476: E/AndroidRuntime(13905):    at com.appboss.min3d.core.Scene.init(Scene.java:272)
01-19 21:38:47.476: E/AndroidRuntime(13905):    at com.appboss.min3d.core.Renderer.onSurfaceCreated(Renderer.java:74)
01-19 21:38:47.476: E/AndroidRuntime(13905):    at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1348)
01-19 21:38:47.476: E/AndroidRuntime(13905):    at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1118)

3 个答案:

答案 0 :(得分:1)

您是否也在清单中更改了您的类名?

答案 1 :(得分:1)

尝试执行以下步骤:

  1. 清理项目(Project> Clean...
  2. 修复项目属性(右键点击Package Explorer> Android Tools> Fix Project Properties中的项目)
  3. 删除所有import android.R (如果有)
  4. 检查.getIdentifier(resourceName, defType, "your_old_package_that_is_now_changed");并使用新的包名称
  5. 进行修复

答案 2 :(得分:0)

看起来这可能导致包名,类名或至少包声明之间的差异。如果您刚重命名该文件,则代码不匹配。如果您确实修复了代码,可能还有一些其他方法需要使用旧名称的包。