在我的Android项目中重命名子包名称

时间:2014-03-05 02:13:13

标签: eclipse android-ndk java-native-interface rename eclipse-cdt

我有一个名为my.android.project的Android项目,在我的src目录中,我有一些名为my.android.projectGUI的子包,my.android.projectClasses,my.android.projectOthers。

我希望将我的包名更改为com.android.project。我已经使用Android Tools->重命名应用程序包成功完成了此操作。但是,这并没有关注我的src目录中的子包。我希望将它们重命名为com.android.project.gui,com.android.project.classes和com.android.project.others

在my.android.projectOthers中,我有一个java文件AccessJNI.java,它加载了一个链接到jni / myjnifiles / myjni.c的JNI库。

当我尝试通过Refactor-> Rename单独更改子包时,它适用于除my.android.projectOthers之外的所有子包。一旦我重命名这个子包,Eclipse就会抛出几个JNI符号的错误,说它们无法解析。尽管我将myjni.c中的所有JNI函数调用从Java_my_android_projectOthers_AccessJNI_functionName()更改为Java_com_android_project.others_AccessJNI_functionName()

,但仍会发生这种情况。

奇怪的是,ndk-build仍然正确地构建了库,但Eclipse似乎无法解析JNI符号。

重命名我的子包时,我是否遗漏了任何内容?

谢谢!

1 个答案:

答案 0 :(得分:0)

  

尽管我将myjni.c中的所有JNI函数调用从Java_my_android_projectOthers_AccessJNI_functionName()更改为Java_com_android_project.others_AccessJNI_functionName()

,但仍会发生这种情况

您应该将所有JNI前缀替换为Java_com_android_project_others_而不是Java_com_android_project.others_