Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 重命名为android应用程序。。问题随之而来_Java_Android_Eclipse_Android Ndk - Fatal编程技术网

Java 重命名为android应用程序。。问题随之而来

Java 重命名为android应用程序。。问题随之而来,java,android,eclipse,android-ndk,Java,Android,Eclipse,Android Ndk,我重命名了我的android应用程序(使用eclipserefactor->rename),现在它在我开始活动初始化之前崩溃了。以下是调用堆栈: ActivityThread.performLaunchActivity(ActivityThread$ActivityRecord, Intent) line: 2417 ActivityThread.handleLaunchActivity(ActivityThread$ActivityRecord, Intent) line: 2512

我重命名了我的android应用程序(使用eclipse
refactor->rename
),现在它在我开始活动初始化之前崩溃了。以下是调用堆栈:

ActivityThread.performLaunchActivity(ActivityThread$ActivityRecord, Intent) line: 2417  
ActivityThread.handleLaunchActivity(ActivityThread$ActivityRecord, Intent) line: 2512   
ActivityThread.access$2200(ActivityThread, ActivityThread$ActivityRecord, Intent) line: 119 
ActivityThread$H.handleMessage(Message) line: 1863  
ActivityThread$H(Handler).dispatchMessage(Message) line: 99 
Looper.loop() line: 123 
ActivityThread.main(String[]) line: 4363    
Method.invokeNative(Object, Object[], Class, Class[], Class, int, boolean) line: not available [native method] [local variables unavailable]    
Method.invoke(Object, Object...) line: 521  
ZygoteInit$MethodAndArgsCaller.run() line: 860  
ZygoteInit.main(String[]) line: 618 
NativeStart.main(String[]) line: not available [native method]  
我的应用程序中有一些本机方法,但它们与
Method.invokenactive(Object,Object[],Class,Class[],Class,int,boolean)中的签名不匹配
,所以我不确定这是否相关。此外,如果本机方法出现问题,当我试图调用它时,我会想象它会崩溃(至少,我在开发它们时就是这样)。我无法在这个问题上找到断点,所以我不确定发生了什么或者如何调试它。我想象在某个地方有一个文件对旧项目名称有着神秘的引用,但我找不到它


任何帮助都将不胜感激。

我将检查您的本机方法,因为本机方法的命名往往依赖于Java类名

此外,您还必须更改AndroidManifest.xml中的名称以反映您的更改


否则,您能否发布堆栈跟踪附带的实际错误消息?

我将检查您的本机方法,因为本机方法的命名往往依赖于Java类名

此外,您还必须更改AndroidManifest.xml中的名称以反映您的更改


否则,您是否可以发布堆栈跟踪附带的实际错误消息?

我自己刚刚做了这件事,遇到了类似的问题(但不是完全相同的问题)


执行Refactor>Rename的最大问题是,它将只管理代码中Java部分的命名。它不会更新任何XML(Android应用程序中有很多XML)。您必须在项目中搜索旧名称,然后手动将其切换到新名称。这包括AndroidManifest.xml等文件以及其他文件(很可能是任何xml文件)。此外,如果您更改了类的包结构,那么您也必须更新它(尽管在本例中,这似乎不是您所做的)。

我自己刚做了这件事,就遇到了类似的问题(但不是完全相同的问题)


执行Refactor>Rename的最大问题是,它将只管理代码中Java部分的命名。它不会更新任何XML(Android应用程序中有很多XML)。您必须在项目中搜索旧名称,然后手动将其切换到新名称。这包括AndroidManifest.xml等文件以及其他文件(很可能是任何xml文件)。此外,如果您更改了类的包结构,那么您也必须更新它(尽管在本例中似乎不是这样做的)。

导致问题的不是重命名项目,也不是NDK造成的-这是一场白费力气的追逐,因为我在调用堆栈中看到了字符串“native method”

问题是,我也重命名了活动,并且确实需要在清单中重命名,正如你们所说的

我认为这里有一个教训:一次重构太多,晚上重构太晚!
不管怎样,问题解决了!非常感谢你们抽出时间

导致问题的不是重命名项目,也不是NDK的错——这是徒劳的,因为我在调用堆栈中看到了字符串“native method”

问题是,我也重命名了活动,并且确实需要在清单中重命名,正如你们所说的

我认为这里有一个教训:一次重构太多,晚上重构太晚!
不管怎样,问题解决了!非常感谢你们抽出时间

愚蠢的问题,但您是否检查以确保您的清单文件也已更新?AFAIK refactor->rename不会自动更改清单。感谢编辑Abatishchev:)@Brian:Mine的名为“AndroidManifest.xml”,没有任何项目名称的引用。是否有一个元清单文件在某个地方引用了它?愚蠢的问题,但您是否检查并确保您的清单文件也已更新?AFAIK refactor->rename不会自动更改清单。感谢编辑Abatishchev:)@Brian:Mine的名为“AndroidManifest.xml”,没有任何项目名称的引用。是否有一个元清单文件在某个地方引用了它?这是完整的堆栈跟踪。我注意到一些奇怪的事情——应用程序的旧名称仍然位于跟踪的顶部,尽管我特别右键单击并用新名称调试了应用程序。有东西保留了对旧名称的引用,但我看不出是什么。
TimApp-Android2.1[Android应用程序]DalvikVM[localhost:8602]Thread[main](挂起(异常运行时异常))ActivityThread.performLaunchActivity(ActivityThread$ActivityRecord,Intent)行:2417 ActivityThread.handleLaunchActivity(ActivityThread$ActivityRecord,Intent)行:2512 ActivityThread.access$2200(ActivityThread,ActivityThread$ActivityRecord,Intent)行:119 ActivityThread$H.handleMessage(Message)行:1863 ActivityThread$H(Handler)。dispatchMessage(Message)行:99
是否更改了AndroidManifest.xml文件中的名称?
Looper.loop()行:123 ActivityThread.main(String[])行:4363方法。invokenactive(Object,Object[],Class,Class[],Class,int,boolean)行:不可用[native Method]方法。invoke(Object,Object…)行:521 ZygoteInit$MethodAndArgsCaller.run()行:860 ZygoteInit.main(String[])行:618 nativestar.main(String[])行:不可用[native method
很抱歉代码垃圾,试图将整个堆栈放在那里,但没有挂起标记:(AndroidManifest.xml文件中没有对旧的或新的项目名称的引用,只有对保持不变的包('tim.app')的引用。这是完整的堆栈跟踪。我注意到了一些奇怪的事情,即