我有一个名为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符号。
重命名我的子包时,我是否遗漏了任何内容?
谢谢!
答案 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_