运行官方的demo,总是会出现如下错误:
07-02 16:24:16.137: W/dalvikvm(2415): threadid=1: thread exiting with uncaught exception (group=0x40144568)
07-02 16:24:16.147: E/AndroidRuntime(2415): FATAL EXCEPTION: main
07-02 16:24:16.147: E/AndroidRuntime(2415): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.android.market.licensing/com.example.android.market.licensing.MainActivity}: java.lang.ClassNotFoundException: com.example.android.market.licensing.MainActivity in loader dalvik.system.PathClassLoader[/data/app/com.example.android.market.licensing-1.apk]
07-02 16:24:16.147: E/AndroidRuntime(2415): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1577)
07-02 16:24:16.147: E/AndroidRuntime(2415): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1671)
07-02 16:24:16.147: E/AndroidRuntime(2415): at android.app.ActivityThread.access$1500(ActivityThread.java:117)
07-02 16:24:16.147: E/AndroidRuntime(2415): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
07-02 16:24:16.147: E/AndroidRuntime(2415): at android.os.Handler.dispatchMessage(Handler.java:99)
07-02 16:24:16.147: E/AndroidRuntime(2415): at android.os.Looper.loop(Looper.java:130)
07-02 16:24:16.147: E/AndroidRuntime(2415): at android.app.ActivityThread.main(ActivityThread.java:3694)
07-02 16:24:16.147: E/AndroidRuntime(2415): at java.lang.reflect.Method.invokeNative(Native Method)
07-02 16:24:16.147: E/AndroidRuntime(2415): at java.lang.reflect.Method.invoke(Method.java:507)
07-02 16:24:16.147: E/AndroidRuntime(2415): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841)
07-02 16:24:16.147: E/AndroidRuntime(2415): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)
07-02 16:24:16.147: E/AndroidRuntime(2415): at dalvik.system.NativeStart.main(Native Method)
07-02 16:24:16.147: E/AndroidRuntime(2415): Caused by: java.lang.ClassNotFoundException: com.example.android.market.licensing.MainActivity in loader dalvik.system.PathClassLoader[/data/app/com.example.android.market.licensing-1.apk]
07-02 16:24:16.147: E/AndroidRuntime(2415): at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:240)
07-02 16:24:16.147: E/AndroidRuntime(2415): at java.lang.ClassLoader.loadClass(ClassLoader.java:551)
07-02 16:24:16.147: E/AndroidRuntime(2415): at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
07-02 16:24:16.147: E/AndroidRuntime(2415): at android.app.Instrumentation.newActivity(Instrumentation.java:1021)
07-02 16:24:16.147: E/AndroidRuntime(2415): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1569)
07-02 16:24:16.147: E/AndroidRuntime(2415): ... 11 more
解决了好久,都没有解决。
尝试一: 自己重新写这个DEMO,然后引入VendingLicense这个Library(代码在 android-sdk-mac_x86/extras/google/market_licensing下),不换包名,只直接用官方sample的代码,编译可以通过,保是还是会报上面的错误。如果换包名,编译都不能通过,会出现老问题,历史遗留问题之 “Library引入问题”。
今天终于找到一种暂时的解决方法,代码重写,并不以Library的方式来引入license, 以源代码的方式引入其中,最后成功了!
成功