2014-10-19 2 views
2

Я пытаюсь запустить пример «democastplayer» (такое же поведение с tic tac toe) в Android, и, похоже, он не работает, когда я запускаю его на своем телефоне. Ошибка довольно ясна, но я понятия не имею, что ее вызывает. Мой проект компилируется просто отлично, но когда он запускается, я получаю ошибку класса, которая не найдена. Я включил проекты appcompat_v7, android-support-v7-mediarouter и google-play-services-lib в eclipse, используя метод ниже.Не удается запустить примеры Android Chromecast

http://developer.android.com/tools/support-library/setup.html

FWIW - Я компиляция с сборкой 21, делая свое развитие на 64 битной Ubuntu, и мой привет примеры мира работать нормально.

Любая помощь будет оценена по достоинству.

10-19 06:59:41.702: E/AndroidRuntime(22076): FATAL EXCEPTION: main 
10-19 06:59:41.702: E/AndroidRuntime(22076): Process: com.google.android.gms.cast.samples.democastplayer, PID: 22076 
10-19 06:59:41.702: E/AndroidRuntime(22076): java.lang.NoClassDefFoundError: Failed resolution of: Landroid/support/v4/app/ActivityManagerCompat; 
10-19 06:59:41.702: E/AndroidRuntime(22076): at android.support.v7.media.MediaRouter$GlobalMediaRouter.<init>(MediaRouter.java:1528) 
10-19 06:59:41.702: E/AndroidRuntime(22076): at android.support.v7.media.MediaRouter.getInstance(MediaRouter.java:220) 
10-19 06:59:41.702: E/AndroidRuntime(22076): at com.google.android.gms.cast.samples.democastplayer.BaseCastPlayerActivity.onCreate(BaseCastPlayerActivity.java:182) 
10-19 06:59:41.702: E/AndroidRuntime(22076): at com.google.android.gms.cast.samples.democastplayer.SdkCastPlayerActivity.onCreate(SdkCastPlayerActivity.java:51) 
10-19 06:59:41.702: E/AndroidRuntime(22076): at android.app.Activity.performCreate(Activity.java:5933) 
10-19 06:59:41.702: E/AndroidRuntime(22076): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105) 
10-19 06:59:41.702: E/AndroidRuntime(22076): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2251) 
10-19 06:59:41.702: E/AndroidRuntime(22076): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360) 
10-19 06:59:41.702: E/AndroidRuntime(22076): at android.app.ActivityThread.access$800(ActivityThread.java:144) 
10-19 06:59:41.702: E/AndroidRuntime(22076): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278) 
10-19 06:59:41.702: E/AndroidRuntime(22076): at android.os.Handler.dispatchMessage(Handler.java:102) 
10-19 06:59:41.702: E/AndroidRuntime(22076): at android.os.Looper.loop(Looper.java:135) 
10-19 06:59:41.702: E/AndroidRuntime(22076): at android.app.ActivityThread.main(ActivityThread.java:5221) 
10-19 06:59:41.702: E/AndroidRuntime(22076): at java.lang.reflect.Method.invoke(Native Method) 
10-19 06:59:41.702: E/AndroidRuntime(22076): at java.lang.reflect.Method.invoke(Method.java:372) 
10-19 06:59:41.702: E/AndroidRuntime(22076): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899) 
10-19 06:59:41.702: E/AndroidRuntime(22076): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694) 
10-19 06:59:41.702: E/AndroidRuntime(22076): Caused by: java.lang.ClassNotFoundException: Didn't find class "android.support.v4.app.ActivityManagerCompat" on path: DexPathList[[zip file "/data/app/com.google.android.gms.cast.samples.democastplayer-2/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]] 
10-19 06:59:41.702: E/AndroidRuntime(22076): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) 
10-19 06:59:41.702: E/AndroidRuntime(22076): at java.lang.ClassLoader.loadClass(ClassLoader.java:511) 
10-19 06:59:41.702: E/AndroidRuntime(22076): at java.lang.ClassLoader.loadClass(ClassLoader.java:469) 
10-19 06:59:41.702: E/AndroidRuntime(22076): ... 17 more 
10-19 06:59:41.702: E/AndroidRuntime(22076): Suppressed: java.lang.ClassNotFoundException: android.support.v4.app.ActivityManagerCompat 
10-19 06:59:41.702: E/AndroidRuntime(22076):  at java.lang.Class.classForName(Native Method) 
10-19 06:59:41.702: E/AndroidRuntime(22076):  at java.lang.BootClassLoader.findClass(ClassLoader.java:781) 
10-19 06:59:41.702: E/AndroidRuntime(22076):  at java.lang.BootClassLoader.loadClass(ClassLoader.java:841) 
10-19 06:59:41.702: E/AndroidRuntime(22076):  at java.lang.ClassLoader.loadClass(ClassLoader.java:504) 
10-19 06:59:41.702: E/AndroidRuntime(22076):  ... 18 more 
10-19 06:59:41.702: E/AndroidRuntime(22076): Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available 
+0

у вас есть поддержка/v4 ' lib в проекте? –

+0

Rober Спасибо, спасибо. Я думаю, что я (немного новичок в этом), но я включил appcompat_v7 в качестве своей библиотеки Android, и в нем есть две банки (поддержка android-v4.jar, android-support-v7-appcompat.jar). Я бы предположил, что это означает, что это на моем пути. Eclipse компилирует просто отлично, это просто pukes, когда я запускаю его. Я полагаю, это означает, что он имеет его на своем пути в затмении, но как только я покину затмение, он теряет его. – mornindew

+0

и вы работаете proguard? т.е. какая версия сборки (отладка, выпуск). если вы отпустите, то обязательно обходите пакеты v4 в файле конфигурации proguard –

ответ

0

hmmm. перейдите в файл project.props для родительской библиотеки v4/support jar.

обзор 'referencing a lib project'

Это parenet Lib должно быть упоминание, как Lib в основных project.pros и попытаться изменить ребенка, чтобы содержать v4/поддержки (образец рода ниже

target=android-19 
android.library=true 
android.library.reference.1=../../../../usr/local/src/android-sdk-linux/extras/android/support/v7/appcompat 
android.library.reference.2=../../../../usr/local/src/android-sdk-linux/extras/android/support/v7/mediarouter 
android.library.reference.3=../../../../usr/local/src/android-sdk-linux/extras/google/google_play_services/libproject/google-play-services_lib 
+0

Извините за задержку и большое спасибо. Я решил провести день и настроить свою среду, используя Fedora. Я хотел прекратить использовать Ubuntu, и в глубине души я надеялся, что что-то не так с моей установкой Ubuntu. Увы - не дело и работает на Fedora, и у меня такая же проблема. В этом случае мой родительский проект - это мой проект DemoCastPlayer. Я проверил project.props, и они верны (как и ваши). Проект компилируется просто отлично в eclipse (что означает, что он может разрешить все зависимости), но как только я разворачиваю его на свой телефон, я получаю вышеупомянутое сообщение об ошибке. – mornindew

0

есть два другой v4.jar, v4.jar в appcompat_v7 не содержит класс ActivityManagerCompat, поэтому он должен заменить v4.jar из sdk \ extras \ android \ support \ v4 в appcompat_v7 lib.

+0

Что вы основываете на этом? Эти две банки идентичны (проверьте контрольную сумму, если у вас есть какие-либо сомнения). –

+0

. К сожалению, я решил, что оба они одинаковы. Я даже переключил classpath для использования другого с точно таким же результатом. – mornindew