2014-03-05 43 views
0

我有一個Android項目名爲my.android.project,在我的src目錄下,我有幾個子包稱爲my.android.projectGUI,my.android.projectClasses在我的Android項目子包的名字,我的.android.projectOthers。重命名

我想改變我的包名稱,而不是到com.android.project。我已經使用Android Tools-> Rename Application Package成功完成了這項工作。但是,這並沒有照顧我的src目錄中的子包。我希望將它們重命名爲com.android.project.gui,com.android.project.classes和com.android.project.others

在my.android.project中,我有一個java文件AccessJNI.java,加載一個鏈接到jni/myjnifiles/myjni.c的JNI庫。

當我嘗試通過Refactor-> Rename單獨更改子包時,它適用於除my.android.projectOthers之外的所有子包。一旦我重命名了這個子包,Eclipse會拋出幾個JNI符號的錯誤,表示它們無法解析。出現這種情況,儘管我改變所有JNI函數調用myjni.c從Java_my_android_projectOthers_AccessJNI_functionName()來Java_com_android_project.others_AccessJNI_functionName()

奇怪的是,NDK建造還是建立正確的庫,但是Eclipse似乎無法化解JNI符號。

我錯過了什麼,而我重命名的子包?

謝謝!

+0

如何錯誤信息看?我從來沒有見過Eclipse試圖匹配JNI方法名稱。 –

回答

0

發生這種情況,儘管我改變所有JNI函數調用從Java_my_android_projectOthers_AccessJNI_functionName() myjni.c到Java_com_android_project.others_AccessJNI_functionName()

你應該Java_com_android_project_others_更換所有JNI的前綴,而不是Java_com_android_project.others_

+0

這是一個錯字,我實際上使用_,而不是。 – user1118764

+0

好的,對不起。刪除我的帖子,這是沒用的!你應該修正這個錯字;) – mbrenon