今天将adt更新後(adnroid sdk tools從20更新到22, android sdk build-tools更新到17),突然所有程式不能啟動了,報找不到r類,然後layout并沒有錯誤,bin檔案夾下也沒有生成r.java類,後發現是android sdk tools等沒有安裝。
在android sdk manager中安裝完tools檔案夾下tools後依然不能啟動,異常如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
e/androidruntime(12439): fatal exception: main
e/androidruntime(12439): java.lang.runtimeexception: unable to instantiate activity componentinfo{cn.trinea.android.demo/cn.trinea.android.demo.mainactivity}: java.lang.classnotfoundexception: didn't find class "cn.trinea.android.demo.mainactivity" on path: dexpathlist[dexelements=[zip file "/data/app/cn.trinea.android.demo-1.apk"],nativelibrarydirectories=[/data/app-lib/cn.trinea.android.demo-1, /vendor/lib, /system/lib]]
e/androidruntime(12439): at android.app.activitythread.performlaunchactivity(activitythread.java:2382)
e/androidruntime(12439): at android.app.activitythread.handlelaunchactivity(activitythread.java:2520)
e/androidruntime(12439): at android.app.activitythread.access$600(activitythread.java:168)
e/androidruntime(12439): at android.app.activitythread$h.handlemessage(activitythread.java:1360)
e/androidruntime(12439): at android.os.handler.dispatchmessage(handler.java:99)
e/androidruntime(12439): at android.os.looper.loop(looper.java:153)
e/androidruntime(12439): at android.app.activitythread.main(activitythread.java:5508)
e/androidruntime(12439): at java.lang.reflect.method.invokenative(native method)
e/androidruntime(12439): at java.lang.reflect.method.invoke(method.java:511)
e/androidruntime(12439): at com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:835)
e/androidruntime(12439): at com.android.internal.os.zygoteinit.main(zygoteinit.java:602)
e/androidruntime(12439): at dalvik.system.nativestart.main(native method)
e/androidruntime(12439): caused by: java.lang.classnotfoundexception: didn't find class "cn.trinea.android.demo.mainactivity" on path: dexpathlist[dexelements=[zip file "/data/app/cn.trinea.android.demo-1.apk"],nativelibrarydirectories=[/data/app-lib/cn.trinea.android.demo-1, /vendor/lib, /system/lib]]
e/androidruntime(12439): at dalvik.system.basedexclassloader.findclass(basedexclassloader.java:53)
e/androidruntime(12439): at java.lang.classloader.loadclass(classloader.java:501)
e/androidruntime(12439): at java.lang.classloader.loadclass(classloader.java:461)
e/androidruntime(12439): at android.app.instrumentation.newactivity(instrumentation.java:1054)
e/androidruntime(12439): at android.app.activitythread.performlaunchactivity(activitythread.java:2373)
e/androidruntime(12439): ... 11 more
解決方法:
菜單project -> properties -> java build path -> order & export, 然後選中android private libraries, 菜單 project->clean,然後運作程式即可。
如果依然失敗,将相關的依賴工程選中android private libraries并clean然後重試即可
ps:
新版的adt加快了插件啟動速度,增加了dump view hierarchy for ui automator使得界面檢視更友善,capature system wide trace貌似是用來性能調優的,不過不支援windows,後面詳細了解看看