安卓Chomecast发件人应用:MediaRouteActionProvider(Android

2019-10-20 10:07发布

我有Android版Chromecast的发送者的应用程序有问题。 这是我第二次发送应用程序,所以,一般来说,我已经拥有基本知识。

什么是对的:

当我从Eclipse直接运行应用程序,它可以在我的两个测试设备。 当我直接从Android Studio中运行的应用程序,它可以在我的两个测试设备。

问题:

当我产生通过Eclipse和Android Studio中签署的APK,当它到达应用程序崩溃两台设备上“剧组的活动”。

该logcat的错误如下:

07-04 12:39:54.887: W/SupportMenuInflater(31144): Cannot instantiate class: android.support.v7.app.MediaRouteActionProvider
07-04 12:39:54.887: W/SupportMenuInflater(31144): java.lang.ClassNotFoundException: Didn't find class "android.support.v7.app.MediaRouteActionProvider" on path: DexPathList[[zip file "/data/app/com.victuallist.shred-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.victuallist.shred-1, /vendor/lib, /system/lib]]
07-04 12:39:54.887: W/SupportMenuInflater(31144):   at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
07-04 12:39:54.887: W/SupportMenuInflater(31144):   at java.lang.ClassLoader.loadClass(ClassLoader.java:497)
07-04 12:39:54.887: W/SupportMenuInflater(31144):   at java.lang.ClassLoader.loadClass(ClassLoader.java:457)
07-04 12:39:54.887: W/SupportMenuInflater(31144):   at android.support.v7.internal.view.f.a(Unknown Source)
07-04 12:39:54.887: W/SupportMenuInflater(31144):   at android.support.v7.internal.view.f.b(Unknown Source)
07-04 12:39:54.887: W/SupportMenuInflater(31144):   at android.support.v7.internal.view.d.a(Unknown Source)
07-04 12:39:54.887: W/SupportMenuInflater(31144):   at android.support.v7.internal.view.d.inflate(Unknown Source)
07-04 12:39:54.887: W/SupportMenuInflater(31144):   at com.victuallist.castgame.CastGameActivity.onCreateOptionsMenu(Unknown Source)
07-04 12:39:54.887: W/SupportMenuInflater(31144):   at android.app.Activity.onCreatePanelMenu(Activity.java:2538)
07-04 12:39:54.887: W/SupportMenuInflater(31144):   at android.support.v4.app.k.onCreatePanelMenu(Unknown Source)
07-04 12:39:54.887: W/SupportMenuInflater(31144):   at android.support.v7.a.g.a(Unknown Source)
07-04 12:39:54.887: W/SupportMenuInflater(31144):   at android.support.v7.a.n.a(Unknown Source)
07-04 12:39:54.887: W/SupportMenuInflater(31144):   at android.support.v7.a.g.onCreatePanelMenu(Unknown Source)
07-04 12:39:54.887: W/SupportMenuInflater(31144):   at android.support.v7.a.o.onCreatePanelMenu(Unknown Source)
07-04 12:39:54.887: W/SupportMenuInflater(31144):   at com.android.internal.policy.impl.PhoneWindow.preparePanel(PhoneWindow.java:436)
07-04 12:39:54.887: W/SupportMenuInflater(31144):   at com.android.internal.policy.impl.PhoneWindow.doInvalidatePanelMenu(PhoneWindow.java:800)
07-04 12:39:54.887: W/SupportMenuInflater(31144):   at com.android.internal.policy.impl.PhoneWindow$1.run(PhoneWindow.java:221)
07-04 12:39:54.887: W/SupportMenuInflater(31144):   at android.view.Choreographer$CallbackRecord.run(Choreographer.java:761)
07-04 12:39:54.887: W/SupportMenuInflater(31144):   at android.view.Choreographer.doCallbacks(Choreographer.java:574)
07-04 12:39:54.887: W/SupportMenuInflater(31144):   at android.view.Choreographer.doFrame(Choreographer.java:543)
07-04 12:39:54.887: W/SupportMenuInflater(31144):   at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:747)
07-04 12:39:54.887: W/SupportMenuInflater(31144):   at android.os.Handler.handleCallback(Handler.java:733)
07-04 12:39:54.887: W/SupportMenuInflater(31144):   at android.os.Handler.dispatchMessage(Handler.java:95)
07-04 12:39:54.887: W/SupportMenuInflater(31144):   at android.os.Looper.loop(Looper.java:136)
07-04 12:39:54.887: W/SupportMenuInflater(31144):   at android.app.ActivityThread.main(ActivityThread.java:5001)
07-04 12:39:54.887: W/SupportMenuInflater(31144):   at java.lang.reflect.Method.invokeNative(Native Method)
07-04 12:39:54.887: W/SupportMenuInflater(31144):   at java.lang.reflect.Method.invoke(Method.java:515)
07-04 12:39:54.887: W/SupportMenuInflater(31144):   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
07-04 12:39:54.887: W/SupportMenuInflater(31144):   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
07-04 12:39:54.887: W/SupportMenuInflater(31144):   at dalvik.system.NativeStart.main(Native Method)
07-04 12:39:54.897: D/AndroidRuntime(31144): Shutting down VM
07-04 12:39:54.897: W/dalvikvm(31144): threadid=1: thread exiting with uncaught exception (group=0x41611ba8)
07-04 12:39:54.897: E/AndroidRuntime(31144): FATAL EXCEPTION: main

更新:看来我有工作。 我禁用ProGuard的。 尽管有它运行,我仍然想知道为什么我遇到的问题。 任何提示,将不胜感激。 谢谢。

Answer 1:

加3线到您的ProGuard文件...

-keep        class android.support.v13.** { *; }
-keep        class android.support.v7.** { *; }
-keep        class android.support.v4.** { *; }

将解决未找到类中的所有支持库的问题。



Answer 2:

ProGuard的不检查之类的菜单资源,以试图找到需要从模糊免费课程。 您从资源引用任何类需要保持原样,通常由一些味道-keep在您的ProGuard配置指令。

什么可能的情况是,ProGuard混淆MediaRouteActionProvider ,因此您的代码编译,但随后的Android无法找到其未混淆名称的类。



文章来源: Android Chomecast Sender App: MediaRouteActionProvider