【发布时间】:2018-08-30 10:42:23
【问题描述】:
我有一个代号应用程序,它调用一个用 html5 开发的安全网站。它使用 html 视频控件来拍摄快照。该网站在 chrome 中完美运行。但是当我从安装在 Android 设备上的 codenameone 应用程序调用它时,视频控件不会出现在页面上。所需的相机权限在 App 中设置。
日志如下:
LOGS....--------- main 开始
09-07 15:43:39.586 23032 23085 I Adreno : QUALCOMM build : 84c9b58, I4fcced3c6d
09-07 15:43:39.586 23032 23085 I Adreno : Build Date : 01/17/18
09-07 15:43:39.586 23032 23085 I Adreno : OpenGL ES Shader Compiler Version: XE031.09.00.04
09-07 15:43:39.586 23032 23085 I Adreno : Local Branch :
09-07 15:43:39.586 23032 23085 I Adreno : Remote Branch : refs/tags/AU_LINUX_ANDROID_LA.UM.5.5.R1.07.01.02.269.061
09-07 15:43:39.586 23032 23085 I Adreno : Remote Branch : NONE
09-07 15:43:39.586 23032 23085 I Adreno : Reconstruct Branch : NOTHING
09-07 15:43:39.595 23032 23085 I OpenGLRenderer: Initialized EGL, version 1.4
09-07 15:43:39.596 23032 23085 D OpenGLRenderer: Swap behavior 1
09-07 15:43:39.619 23032 23084 I Codename One: Resource not found: theme_phone.ovr
09-07 15:43:39.619 23032 23084 I Codename One: Resource not found: theme_android.ovr
09-07 15:43:39.619 23032 23084 I Codename One: Resource not found: theme_android-phone.ovr
09-07 15:43:39.630 23032 23041 I art : Do partial code cache collection, code=9KB, data=30KB
09-07 15:43:39.630 23032 23041 I art : After code cache collection, code=9KB, data=30KB
09-07 15:43:39.630 23032 23041 I art : Increasing code cache capacity to 128KB
09-07 15:43:39.684 23032 23084 D RedirectToCameraHtml: [EDT] 0:0:0,124 - WARNING: Theme sets the commandBehavior constant which is deprecated. Please update the theme to NOT include this theme constant. Using commandBehavior may cause your app to perform in unexpected ways. In particular, using SIDE command behavior in conjunction with Toolbar.setOnTopSideMenu(true) may result in runtime exceptions.
09-07 15:43:39.685 23032 23084 D RedirectToCameraHtml: [EDT] 0:0:0,126 - WARNING: Display.setCommandBehavior() is deprecated, Using it may result in unexpected behaviour. In particular, using COMMAND_BEHAVIOR_SIDE_NAVIGATION in conjunction with Toolbar.setOnTopSideMenu(true) may result in runtime errors.
09-07 15:43:39.691 23032 23094 D NetworkSecurityConfig: No Network Security Config specified, using platform default
09-07 15:43:39.707 23032 23094 D ApplicationLoaders: ignored Vulkan layer search path /data/app/com.android.chrome-2/lib/arm64:/data/app/com.android.chrome-2/base.apk!/lib/arm64-v8a for namespace 0x7f95e31160
09-07 15:43:39.708 23032 23084 I Timeline: Timeline: Activity_launch_request time:42584312 intent:Intent { act=android.content.pm.action.REQUEST_PERMISSIONS pkg=com.google.android.packageinstaller (has extras) }
09-07 15:43:39.714 23032 23094 I WebViewFactory: Loading com.android.chrome version 68.0.3440.91 (code 344009152)
09-07 15:43:39.769 23032 23041 I art : Compiler allocated 5MB to compile void com.codename1.ui.plaf.UIManager.resetThemeProps(java.util.Hashtable)
09-07 15:43:39.776 23032 23084 D Codename One: sizechanged: 1080 1964 com.codename1.impl.android.CodenameOneView@8dc66a5
09-07 15:43:39.781 23032 23032 E SpannableStringBuilder: SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
09-07 15:43:39.781 23032 23032 E SpannableStringBuilder: SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
09-07 15:43:39.795 23032 23094 I cr_LibraryLoader: Time to load native libraries: 8 ms (timestamps 4390-4398)
09-07 15:43:39.808 23032 23094 I chromium: [INFO:library_loader_hooks.cc(36)] Chromium logging enabled: level = 0, default verbosity = 0
09-07 15:43:39.808 23032 23108 E cr_VariationsUtils: Failed reading seed file "/data/user/0/com.mycompany.myapp/app_webview/variations_seed_new": /data/user/0/com.mycompany.myapp/app_webview/variations_seed_new (No such file or directory)
09-07 15:43:39.808 23032 23094 I cr_LibraryLoader: Expected native library version number "68.0.3440.91", actual native library version number "68.0.3440.91"
09-07 15:43:39.809 23032 23108 E cr_VariationsUtils: Failed reading seed file "/data/user/0/com.mycompany.myapp/app_webview/variations_seed": /data/user/0/com.mycompany.myapp/app_webview/variations_seed (No such file or directory)
09-07 15:43:39.815 23032 23108 W System : ClassLoader referenced unknown path:
09-07 15:43:39.818 23032 23108 D ApplicationLoaders: ignored Vulkan layer search path /data/app/com.android.chrome-2/lib/arm64:/data/app/com.android.chrome-2/base.apk!/lib/arm64-v8a for namespace 0x7f95e311d0
09-07 15:43:39.851 23032 23041 I art : Do partial code cache collection, code=39KB, data=61KB
09-07 15:43:39.851 23032 23041 I art : After code cache collection, code=39KB, data=61KB
09-07 15:43:39.851 23032 23041 I art : Increasing code cache capacity to 256KB
09-07 15:43:39.853 23032 23041 I art : Compiler allocated 4MB to compile com.codename1.ui.plaf.Style com.codename1.ui.plaf.UIManager.createStyle(java.lang.String, java.lang.String, boolean)
09-07 15:43:42.420 23032 23032 E SpannableStringBuilder: SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
09-07 15:43:42.420 23032 23032 E SpannableStringBuilder: SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
09-07 15:43:42.432 23032 23084 D RedirectToCameraHtml: [EDT] 0:0:2,874 - getCameraPermission() >> true
09-07 15:43:42.534 23032 23032 I cr_BrowserStartup: Initializing chromium process, singleProcess=true
09-07 15:43:42.538 23032 23032 I cr_base : Android Locale: en_IN requires .pak files: [en-GB, en-US]
09-07 15:43:42.553 23032 23032 W ResourceType: Failure getting entry for 0x7f1204a3 (t=17 e=1187) (error -2147483647)
09-07 15:43:42.640 23032 23032 I art : Rejecting re-init on previously-failed class java.lang.Class<ul>: java.lang.NoClassDefFoundError: Failed resolution of: Landroid/webkit/SafeBrowsingResponse;
09-07 15:43:42.640 23032 23032 I art : at xf com.android.webview.chromium.WebViewChromiumFactoryProvider.a(android.webkit.WebView, android.content.Context) (SourceFile:209)
09-07 15:43:42.640 23032 23032 I art : at void com.android.webview.chromium.WebViewChromium.init(java.util.Map, boolean) (SourceFile:63)
09-07 15:43:42.640 23032 23032 I art : at void android.webkit.WebView.<init>(android.content.Context, android.util.AttributeSet, int, int, java.util.Map, boolean) (WebView.java:636)
09-07 15:43:42.640 23032 23032 I art : at void android.webkit.WebView.<init>(android.content.Context, android.util.AttributeSet, int, int) (WebView.java:572)
09-07 15:43:42.640 23032 23032 I art : at void android.webkit.WebView.<init>(android.content.Context, android.util.AttributeSet, int) (WebView.java:555)
09-07 15:43:42.640 23032 23032 I art : at void android.webkit.WebView.<init>(android.content.Context, android.util.AttributeSet) (WebView.java:542)
09-07 15:43:42.641 23032 23032 I art : at void android.webkit.WebView.<init>(android.content.Context) (WebView.java:532)
09-07 15:43:42.641 23032 23032 I art : at void com.codename1.impl.android.AndroidImplementation$21$1.<init>(com.codename1.impl.android.AndroidImplementation$21, android.content.Context) (AndroidImplementation.java:4143)
09-07 15:43:42.641 23032 23032 I art : at void com.codename1.impl.android.AndroidImplementation$21.run() (AndroidImplementation.java:4143)
09-07 15:43:42.641 23032 23032 I art : at void android.os.Handler.handleCallback(android.os.Message) (Handler.java:754)
09-07 15:43:42.641 23032 23032 I art : at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:95)
09-07 15:43:42.641 23032 23032 I art : at void android.os.Looper.loop() (Looper.java:163)
09-07 15:43:42.641 23032 23032 I art : at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:6396)
09-07 15:43:42.641 23032 23032 I art : at java.lang.Object java.lang.reflect.Method.invoke!(java.lang.Object, java.lang.Object[]) (Method.java:-2)
09-07 15:43:42.641 23032 23032 I art : at void com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run() (ZygoteInit.java:904)
09-07 15:43:42.641 23032 23032 I art : at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:794)
09-07 15:43:42.641 23032 23032 I art : Caused by: java.lang.ClassNotFoundException: Didn't find class "android.webkit.SafeBrowsingResponse" on path: DexPathList[[zip file "/data/app/com.android.chrome-2/base.apk"],nativeLibraryDirectories=[/data/app/com.android.chrome-2/lib/arm64, /data/app/com.android.chrome-2/base.apk!/lib/arm64-v8a, /system/lib64, /vendor/lib64]]
09-07 15:43:42.641 23032 23032 I art : at java.lang.Class dalvik.system.BaseDexClassLoader.findClass(java.lang.String) (BaseDexClassLoader.java:56)
09-07 15:43:42.641 23032 23032 I art : at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String, boolean) (ClassLoader.java:380)
09-07 15:43:42.641 23032 23032 I art : at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String) (ClassLoader.java:312)
09-07 15:43:42.641 23032 23032 I art : at xf com.android.webview.chromium.WebViewChromiumFactoryProvider.a(android.webkit.WebView, android.content.Context) (SourceFile:209)
09-07 15:43:42.641 23032 23032 I art : at void com.android.webview.chromium.WebViewChromium.init(java.util.Map, boolean) (SourceFile:63)
09-07 15:43:42.641 23032 23032 I art : at void android.webkit.WebView.<init>(android.content.Context, android.util.AttributeSet, int, int, java.util.Map, boolean) (WebView.java:636)
09-07 15:43:42.641 23032 23032 I art : at void android.webkit.WebView.<init>(android.content.Context, android.util.AttributeSet, int, int) (WebView.java:572)
09-07 15:43:42.641 23032 23032 I art : at void android.webkit.WebView.<init>(android.content.Context, android.util.AttributeSet, int) (WebView.java:555)
09-07 15:43:42.641 23032 23032 I art : at void android.webkit.WebView.<init>(android.content.Context, android.util.AttributeSet) (WebView.java:542)
09-07 15:43:42.641 23032 23032 I art : at void android.webkit.WebView.<init>(android.content.Context) (WebView.java:532)
09-07 15:43:42.641 23032 23032 I art : at void com.codename1.impl.android.AndroidImplementation$21$1.<init>(com.codename1.impl.android.AndroidImplementation$21, android.content.Context) (AndroidImplementation.java:4143)
09-07 15:43:42.641 23032 23032 I art : at void com.codename1.impl.android.AndroidImplementation$21.run() (AndroidImplementation.java:4143)
09-07 15:43:42.641 23032 23032 I art : at void android.os.Handler.handleCallback(android.os.Message) (Handler.java:754)
09-07 15:43:42.641 23032 23032 I art : at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:95)
09-07 15:43:42.641 23032 23032 I art : at void android.os.Looper.loop() (Looper.java:163)
09-07 15:43:42.641 23032 23032 I art : at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:6396)
09-07 15:43:42.641 23032 23032 I art : at java.lang.Object java.lang.reflect.Method.invoke!(java.lang.Object, java.lang.Object[]) (Method.java:-2)
09-07 15:43:42.641 23032 23032 I art : at void com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run() (ZygoteInit.java:904)
09-07 15:43:42.642 23032 23032 I art : at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:794)
09-07 15:43:42.642 23032 23032 I art :
09-07 15:43:42.647 23032 23032 I art : Rejecting re-init on previously-failed class java.lang.Class<xo>: java.lang.NoClassDefFoundError: Failed resolution of: Landroid/webkit/RenderProcessGoneDetail;
09-07 15:43:42.647 23032 23032 I art : at xf com.android.webview.chromium.WebViewChromiumFactoryProvider.a(android.webkit.WebView, android.content.Context) (SourceFile:209)
09-07 15:43:42.647 23032 23032 I art : at void com.android.webview.chromium.WebViewChromium.init(java.util.Map, boolean) (SourceFile:63)
09-07 15:43:42.647 23032 23032 I art : at void android.webkit.WebView.<init>(android.content.Context, android.util.AttributeSet, int, int, java.util.Map, boolean) (WebView.java:636)
09-07 15:43:42.647 23032 23032 I art : at void android.webkit.WebView.<init>(android.content.Context, android.util.AttributeSet, int, int) (WebView.java:572)
09-07 15:43:42.647 23032 23032 I art : at void android.webkit.WebView.<init>(android.content.Context, android.util.AttributeSet, int) (WebView.java:555)
09-07 15:43:42.647 23032 23032 I art : at void android.webkit.WebView.<init>(android.content.Context, android.util.AttributeSet) (WebView.java:542)
09-07 15:43:42.647 23032 23032 I art : at void android.webkit.WebView.<init>(android.content.Context) (WebView.java:532)
09-07 15:43:42.647 23032 23032 I art : at void com.codename1.impl.android.AndroidImplementation$21$1.<init>(com.codename1.impl.android.AndroidImplementation$21, android.content.Context) (AndroidImplementation.java:4143)
09-07 15:43:42.647 23032 23032 I art : at void com.codename1.impl.android.AndroidImplementation$21.run() (AndroidImplementation.java:4143)
09-07 15:43:42.647 23032 23032 I art : at void android.os.Handler.handleCallback(android.os.Message) (Handler.java:754)
09-07 15:43:42.647 23032 23032 I art : at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:95)
09-07 15:43:42.647 23032 23032 I art : at void android.os.Looper.loop() (Looper.java:163)
09-07 15:43:42.647 23032 23032 I art : at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:6396)
09-07 15:43:42.647 23032 23032 I art : at java.lang.Object java.lang.reflect.Method.invoke!(java.lang.Object, java.lang.Object[]) (Method.java:-2)
09-07 15:43:42.647 23032 23032 I art : at void com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run() (ZygoteInit.java:904)
09-07 15:43:42.648 23032 23032 I art : at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:794)
09-07 15:43:42.648 23032 23032 I art : Caused by: java.lang.ClassNotFoundException: Didn't find class "android.webkit.RenderProcessGoneDetail" on path: DexPathList[[zip file "/data/app/com.android.chrome-2/base.apk"],nativeLibraryDirectories=[/data/app/com.android.chrome-2/lib/arm64, /data/app/com.android.chrome-2/base.apk!/lib/arm64-v8a, /system/lib64, /vendor/lib64]]
09-07 15:43:42.648 23032 23032 I art : at java.lang.Class dalvik.system.BaseDexClassLoader.findClass(java.lang.String) (BaseDexClassLoader.java:56)
09-07 15:43:42.648 23032 23032 I art : at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String, boolean) (ClassLoader.java:380)
09-07 15:43:42.648 23032 23032 I art : at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String) (ClassLoader.java:312)
09-07 15:43:42.648 23032 23032 I art : at xf com.android.webview.chromium.WebViewChromiumFactoryProvider.a(android.webkit.WebView, android.content.Context) (SourceFile:209)
09-07 15:43:42.648 23032 23032 I art : at void com.android.webview.chromium.WebViewChromium.init(java.util.Map, boolean) (SourceFile:63)
09-07 15:43:42.648 23032 23032 I art : at void android.webkit.WebView.<init>(android.content.Context, android.util.AttributeSet, int, int, java.util.Map, boolean) (WebView.java:636)
09-07 15:43:42.648 23032 23032 I art : at void android.webkit.WebView.<init>(android.content.Context, android.util.AttributeSet, int, int) (WebView.java:572)
09-07 15:43:42.648 23032 23032 I art : at void android.webkit.WebView.<init>(android.content.Context, android.util.AttributeSet, int) (WebView.java:555)
09-07 15:43:42.648 23032 23032 I art : at void android.webkit.WebView.<init>(android.content.Context, android.util.AttributeSet) (WebView.java:542)
09-07 15:43:42.648 23032 23032 I art : at void android.webkit.WebView.<init>(android.content.Context) (WebView.java:532)
09-07 15:43:42.648 23032 23032 I art : at void com.codename1.impl.android.AndroidImplementation$21$1.<init>(com.codename1.impl.android.AndroidImplementation$21, android.content.Context) (AndroidImplementation.java:4143)
09-07 15:43:42.648 23032 23032 I art : at void com.codename1.impl.android.AndroidImplementation$21.run() (AndroidImplementation.java:4143)
09-07 15:43:42.648 23032 23032 I art : at void android.os.Handler.handleCallback(android.os.Message) (Handler.java:754)
09-07 15:43:42.648 23032 23032 I art : at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:95)
09-07 15:43:42.648 23032 23032 I art : at void android.os.Looper.loop() (Looper.java:163)
09-07 15:43:42.648 23032 23032 I art : at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:6396)
09-07 15:43:42.648 23032 23032 I art : at java.lang.Object java.lang.reflect.Method.invoke!(java.lang.Object, java.lang.Object[]) (Method.java:-2)
09-07 15:43:42.648 23032 23032 I art : at void com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run() (ZygoteInit.java:904)
09-07 15:43:42.648 23032 23032 I art : at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:794)
09-07 15:43:42.648 23032 23032 I art :
09-07 15:43:42.751 23032 23032 D EgretLoader: EgretLoader(Context context)
09-07 15:43:42.754 23032 23032 D EgretLoader: The context is not activity
【问题讨论】:
-
如何将
BrowserComponent添加到 UI 中?如果它不在表单边框布局的中心,则不起作用。仅供参考,Android 需要提示权限,因此向 XML 添加权限是不够的。 -
BrowserComponent 被添加到 BorderLayout 的中心。相机权限在 codenameone_settings.properties 中设置。显示包含视频控件的html页面时,navigator.mediaDevices.getUserMedia(constraints)返回错误为“NotAllowedError: Permission denied”
-
我把日志做成了一个源代码块,因为它真的很难阅读......
标签: codenameone