当我把Eclipse中的工程拷贝到android源码中编译时,经常碰到这样的错误提示:
make: Entering directory
build/core/main.mk:272: implicitly installing apns-conf_sdk.xml
No private recovery resources for TARGET_DEVICE tcc8900
target Java: KeyTest (out/target/common/obj/APPS/KeyTest_intermediates/classes)
packages/apps/KeyTest/gen/com/fly/kdd/KeyTest/R.java:10: duplicate class: com.fly.kdd.KeyTest.R
public final class R {
^
Note: packages/apps/KeyTest/src/com/fly/kdd/KeyTest/KeyTest.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
1 error
make: *** [out/target/common/obj/APPS/KeyTest_intermediates/classes-full-debug.jar] Error 41
make: Leaving directory
我认为是 Eclipse生成的R.java 文件造成的,将它删除,即可顺利编译通过!
那么这个文件到底是干什么用的呢? 其实Android自己维护这一个public final class R类主要是更新资源文件,当你编辑过Res文件后保存,这个类就会自动更新。