繁体   English   中英

重命名Android程序包名称失败

[英]Rename Android Package name fails

我在eclipse,android工具,'重命名应用程序包'中右键单击我的项目。

选择任何名称,它将失败,将您引导至错误日志以获取详细信息。

在那里我找到以下内容:

eclipse.buildId=M20110210-1200
java.version=1.6.0_26
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=nl_BE
Framework arguments:  -product org.eclipse.epp.package.java.product
Command-line arguments:  -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.java.product

错误周五6月24日10:11:31 CEST 2011内部错误

java.lang.reflect.InvocationTargetException
at org.eclipse.ltk.internal.ui.refactoring.WorkbenchRunnableAdapter.run(WorkbenchRunnableAdapter.java:91)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)
Caused by: org.eclipse.core.internal.resources.ResourceException: An error occurred while traversing resources.
at org.eclipse.core.internal.resources.Resource.accept(Resource.java:83)
at org.eclipse.core.internal.resources.Resource.accept(Resource.java:110)
at org.eclipse.core.internal.resources.Resource.accept(Resource.java:94)
at com.android.ide.eclipse.adt.internal.refactorings.renamepackage.ApplicationPackageNameRefactoring.createChange(ApplicationPackageNameRefactoring.java:128)
at org.eclipse.ltk.core.refactoring.CreateChangeOperation.run(CreateChangeOperation.java:124)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1975)
at org.eclipse.ltk.internal.ui.refactoring.WorkbenchRunnableAdapter.run(WorkbenchRunnableAdapter.java:87)
... 1 more
Caused by: java.lang.NullPointerException
at com.android.ide.eclipse.adt.internal.refactorings.renamepackage.ApplicationPackageNameRefactoring.updateJavaFileImports(ApplicationPackageNameRefactoring.java:151)
at com.android.ide.eclipse.adt.internal.refactorings.renamepackage.ApplicationPackageNameRefactoring$JavaFileVisitor.visit(ApplicationPackageNameRefactoring.java:427)
at org.eclipse.core.internal.resources.Resource$2.visit(Resource.java:112)
at org.eclipse.core.internal.resources.Resource$1.visitElement(Resource.java:64)
at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:82)
at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:86)
at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:86)
at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:86)
at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:86)
at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:86)
at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:86)
at org.eclipse.core.internal.watson.ElementTreeIterator.iterate(ElementTreeIterator.java:127)
at org.eclipse.core.internal.resources.Resource.accept(Resource.java:74)
... 7 more
Root exception:
org.eclipse.core.internal.resources.ResourceException(/Touring Mobilis)[566]: java.lang.NullPointerException
at com.android.ide.eclipse.adt.internal.refactorings.renamepackage.ApplicationPackageNameRefactoring.updateJavaFileImports(ApplicationPackageNameRefactoring.java:151)
at com.android.ide.eclipse.adt.internal.refactorings.renamepackage.ApplicationPackageNameRefactoring$JavaFileVisitor.visit(ApplicationPackageNameRefactoring.java:427)
at org.eclipse.core.internal.resources.Resource$2.visit(Resource.java:112)
at org.eclipse.core.internal.resources.Resource$1.visitElement(Resource.java:64)
at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:82)
at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:86)
at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:86)
at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:86)
at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:86)
at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:86)
at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:86)
at org.eclipse.core.internal.watson.ElementTreeIterator.iterate(ElementTreeIterator.java:127)
at org.eclipse.core.internal.resources.Resource.accept(Resource.java:74)
at org.eclipse.core.internal.resources.Resource.accept(Resource.java:110)
at org.eclipse.core.internal.resources.Resource.accept(Resource.java:94)
at com.android.ide.eclipse.adt.internal.refactorings.renamepackage.ApplicationPackageNameRefactoring.createChange(ApplicationPackageNameRefactoring.java:128)
at org.eclipse.ltk.core.refactoring.CreateChangeOperation.run(CreateChangeOperation.java:124)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1975)
at org.eclipse.ltk.internal.ui.refactoring.WorkbenchRunnableAdapter.run(WorkbenchRunnableAdapter.java:87)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)

这个工具适用于任何人吗? 如果是这样,请告诉我您使用的是哪个版本的日食。

我在Windows 7上使用最新版本的eclipse(64位)和最新的ADT eclipse插件。

你不能相信这一点。 我有完全相同的问题,因为我完全评论了一个类。 所以我认为当eclipse尝试更改注释类的包名时会抛出此错误。

要解决此问题,您只需删除该类或取消注释。

我遇到了同样的问题。 我只是无法使用包>右键单击>重命名包重命名包。 在某些xml模板中出现了包引用,使用自定义控件未更新,因此无法生成R文件。 查看xml并重命名引用后,生成了R文件,我可以继续重命名。

实际上我决定创建自己的包重命名工具。

事实很简单:

  • 用[packagename]替换AndroidManifest.xml。
  • 在所有* .java文件中替换[packagename] .R
  • 在xml文件中替换SCHEMAS:http://schemas.android.com/apk/res/ [packagename]

然后我选择“不更新启动配置”并刷新eclipse项目。

一切顺利然后:)。

结合git分支和天线预处理器有助于我获得执行具有各种选项的应用程序的许多版本所需的灵活性。

显然,以下方式可以帮助您重命名。

1.右键单击gen文件夹并将包名重命名为您想要的名称。请参见下图。

在此输入图像描述

2.重命名上面后打开你的清单文件,并将包声明更改为你想要的,但它应该与gen文件夹中的包相同,见下文。

在此输入图像描述

应该是人们。快乐的编码!

哈哈这个bug的原因如下:

Caused by: java.lang.NullPointerException
at com.android.ide.eclipse.adt.internal.refactorings.renamepackage.ApplicationPackageNameRefactoring.updateJavaFileImports(ApplicationPackageNameRefactoring.java:151).

因此,您需要检查一个java文件是否没有包名。

例如:

//package com.telecom.request.login;
//
//import android.content.Context;
//import android.content.Intent;

我的java文件的包已被注释,然后eclipse无法获取文件的包名,nullpointer出来了。

希望对你有所帮助。

尝试右键单击包并选择Refactor-> Rename,它对我来说很好,从来没有遇到任何麻烦。 希望这可以帮助。

我在使用某些版本的eclipse重构/重命名项目时遇到了类似的问题。 如果你需要快速修复 ,我建议这样做。

创建一个新的Android应用程序,其中包含您要将其推向市场的名称,并将源代码文件按文件复制到新应用程序中。 警告:不要复制文件本身,只复制文件中的代码,因为eclipse有一些与每个文件关联的元数据,这可能会导致链接错误。

希望这可以帮助。

关于“遍历资源”我有同样的错误。 我删除了引用的文件夹(它没有使用),之后我能够重构包名。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM