[問題] R.java 與 library 的順序
最近為了整理亂七八糟的 source tree
把一項 android project 的目錄移動到另一個地方
然後在 eclipse 中重新匯入、設定 library
(這個 project 用了另外四個 library project 裡面都包含 resource)
然後就爆炸了
一執行就 force close
logcat 出現
android.content.res.Resources$NotFoundException: Resource ID
#0x7f050030 is not valid
但打開 apk 後確認 resource 是有在裡面的
google 了一陣子,試著使用 eclipse 中的 clean project
或是直接砍掉 R.java 讓它重新產生等等的方法
全部都沒有用
後來我挖出了可以執行的舊版程式送去 decompile 檢查他的 R.java
發現舊版的 R.java 內容與新版完全不同!
比如說舊版可能是這樣:
public static final class R {
public static final class color {
public static final int transparent = 0x7f060000;
}
...
public static final class string {
public static final int app_name = 0x7f040000;
...
}
}
新版變成了這樣:
public static final class R {
public static final class color {
public static final int transparent = 0x7f040000;
}
...
public static final class string {
public static final int app_name = 0x7f050000;
...
}
}
也就是 resource type 的排列順序就錯了,產生出來的 id 也是錯的
最後我打開 project property 調整了 library project 的順序
結果...結果!結果就正確了 (怒
請問:
1. 這是 eclipse ADT 的 bug 嗎?
2. 如果不是 bug,那我的 library project 應該如何排序才不會發生這種問題?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.135.3.139
推
03/21 11:03, , 1F
03/21 11:03, 1F
推
03/21 11:07, , 2F
03/21 11:07, 2F
→
03/21 15:26, , 3F
03/21 15:26, 3F
→
03/21 16:09, , 4F
03/21 16:09, 4F
→
03/21 16:20, , 5F
03/21 16:20, 5F
→
03/21 16:21, , 6F
03/21 16:21, 6F
→
03/21 16:21, , 7F
03/21 16:21, 7F
推
03/21 23:59, , 8F
03/21 23:59, 8F