This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CCS/CCStudio:Ubuntu 18.04 Resource Explorer 错误

Guru**** 2041660 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/911510/ccs-ccstudio-ubuntu-18-04-resource-explorer-error

器件型号:CCStudio

工具/软件:Code Composer Studio

您好!

已按照 提供的 Linux 主机支持说明在 Ubuntu 18.04中安装了 CCS 10.0.0.00010。

每当我尝试打开 Resource Explorer (联机或脱机)时、我都会收到错误消息`Failed to create the part's controls`、with the details inesing a `java.lang.RuntimeException:unsupported API`。 此错误的完整详细信息如下所示。

在我试图解决这一问题时,我尝试了 这一类似论坛帖子中给出的步骤 ,包括:

  • 从工作区目录中清除 CCS 浏览器缓存。
  • 运行命令`export SWT_GTK3=0`后从终端启动 CCD。
  • 正在查找目录中缺少的依赖项` /ccs/eclipse/configuration/.jxbrowser-chromium-lib`带命令`ldd *`。 ``的所有依赖项都需要`libbrowsercore64.so`(位于本地目录中)和`libjawt.so (位于中) /ccs/eclipse/jre/lib/amd64/libjawt.so`通过`locate libjawt.so`命令)。
  • 正在删除` /ccs/eclipse/configuration/.jxbrowser-chromium-lib`
  • 在全新的工作区内重新启动 CCS。

但是,这些步骤没有解决这个问题。

它可能与之无关、但我发现、除非`Window > Preferences > Code Composer Studio > Available Browser`从默认`Chromium`更改为`Internal Browser`、否则 Getting statred 页面不会加载到空白屏幕之外。 尝试将此选项设置为`JavaFX webkit`的其他选项会导致 CCS 在启动时无提示地失败。

感谢您的进一步建议、

Robert。

完整错误消息详细信息:

java.lang.RuntimeException:Unsupported API
at com.ti.browser.contribution.AbstractBrowser.setData(AbstractBrowser.java:25







org.eclipse.ui.part.MultiPageEditorPart.setActivePage(MultiPageEditorPart.java:1034
org.eclipse.ui.forms.editor.FormEditor.setActivePage(FormEditor.java:617


org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor.createPartControl(CompatibilityEditor.java:96
org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.create(CompatibilityPart.java:361) at com.ti.browser.internal.TIBrowser.setData(TIBrowser.java:438 org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.createPartControl(CompatibilityPart.java:154
sun.reflect.NativeMethodAccessorImpl.invoke0(Native at com.ti.rex.ccspugin.editor.ResourceExplorerPage.createBrowser (ResourceExplorerPage.java:215) at com.ti.rex.ccugin.editor.editor.editor.editor.Page.createForFormat.createContings(ResourceExplorer.forbest.forbest.forbest.emp.g.em.fore.com.forbest.emp.gor.em.japert.em.em.fore.com.fore.com.emp.gor.emp.gor.emp.gor.forb.em.emp.gor.emp.gor.emp.com.emp.com.forbe.com.emp.com.forbe.com.forbe.com.forbe.com.emp.com.forbe.com.emp.com.forbe.com.em.emp.com.emp.com.emp.com.forbe.com.forbe.com.forbe.com.forbe.com.forbe.com.


java.lang.reflect.Method.invoke(Method.java:498
)

org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:967) org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:58) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43


org.eclipse.e4.core.internal.di.InjectorImpl.make(InjectorImpl.java:331) org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:1002



org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.create(ReflectionContributionFactory.java:42)



org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:768) org.eclipse.e4.core.internal.di.InjectorImpl.internalInject(InjectorImpl.java:139 org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:408) org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.doCreate(ReflectionContributionFactory.java:60)


org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45) org.eclipse.e4.contextInvertionFactory.make (ContextInjectionFactory:Java:202) sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62 org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.createFromBundle(ReflectionContributionFactory.java:91 org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createWidget(PartRenderingEngine.java:1002 org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$0(PartRenderingEngine.java:739
org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:717 org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:662 org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$2.run(PartRenderingEngine.java:733


org.eclipse.e4.ui.services.internal.events.UIEventHandler.lambda$0(UIEventHandler.java:38))上的上的上的 Renderlipse.ui.contextiner.prise.t.maker.t.jacker.jacker.trackers.org.ember.ipers.jacker.ipers.org.ipers.jacker.ipers.ipers.org.t.ember.ipers.ipers.jackers.ember.ipers.t.ember.ja.t.ember.ember.ember.ember.t.jackers.ember.ember.ipt.ember.ember.ember.ember.jackers.ember.ember.jackers.t.ipt.ember.ember.ember.ember.ember.ember.ember.ember.jackers.jackers.ember.

org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:146)
上 org.eclipse.swt.widget.Display.syncdecExec (Display.java:5786)
位于 org.eclipse.e4.ui.internal.workbench.swt.E4Application$1.syncExec(E4Application.java:219
)
位于 org.eclipse.equinox.internal.event.EventHandlerWrapper.handleEvent(EventHandlerWrapper.java:205)
位于 org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:203)
位于 org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:1)
位于 org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234)
位于 org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:151)
位于










org.eclipse.e4.ui.internal.workbench.PartServiceImpl.showPart(PartServiceImpl.java:1236)位于 org.eclipse.equinox.internal.event.EventAdminImpl.sendEvent(EventAdminImpl.java:75)位于 org.eclipse.equinox.internal.event.EventComponent.sendEvent(EventComponent.java:44)位于 org.eclipse.emf.common.notify.impl.BasicNotifierImpl.eNotify(BasicNotifierImpl.java:424)位于 org.eclipse.e4.ui.internal.workbench.ModelServiceImpl.showElementInWindow(ModelServiceImpl.java:661 org.eclipse.e4.ui.internal.workbench.UIEventPublisher.notifyChanged(UIEventPublisher.java:63)位于 org.eclipse.e4.ui.model.application.ui.impl.ElementContainerImpl.setSelectedElement(ElementContainerImpl.java:188)位于



org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:3110 org.eclipse.e4.ui.internal.workbench.PartServiceImpl.delegateBringToTop(PartServiceImpl.java:790)位于 org.eclipse.e4.ui.services.internal.events.EventBroker.send(EventBroker.java:55) org.eclipse.e4.ui.model.application.ui.impl.ElementContainerImpl.setSelectedElementGen(ElementContainerImpl.java:170)位于 org.eclipse.e4.ui.services.internal.events.UIEventHandler.handleEvent(UIEventHandler.java:38)位于 org.eclipse.equinox.internal.event.EventAdminImpl.dispatchEvent(EventAdminImpl.java:132 org.eclipse.ui.internal.WorkbenchPage.lambda$9(WorkbenchPage.java:3112)位于 org.eclipse.e4.ui.internal.workbench.ModelServiceImpl.bringToTop(ModelServiceImpl.java:625 org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:3207。
org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:3080)
位于 org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:3063
上的 com.ti.rex.ccspugin.ResourceExplorerOpener.openEditor (ResourceExplorerOpener.Java:51)
位于 com.ti.rex.ccspugin.OpenExplorerHandlerexec.execute(OpenExplorerHandler.java.105)
at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:283)
at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:97
) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62



















) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) java.lang.reflect.Method.invoke(Method.java:498) org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:58) org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:318 org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:156 org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:213 org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1423 org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338


org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:660) org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:252) org.eclipse.core.commands.Command.executeWithChecks(Command.java:488) org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:173) org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:487) org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89) org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4935) org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1049) org.eclipse.swt.widgets.Display.sendEvent(Display.java:5676) org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1160) org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155) org.eclipse.e1.ui.edfed.Contributions.swt.HandlededitItem.executeWorkbench.Workbenchited.(HandledContributionItem.Java.438:449) at
org.eclipse.ed.org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338 ()))
org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:559)
位于 org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.Java:154)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:150
)位于 org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203
)
位于 org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:137)位于 org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:107)
位于 org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:401)
位于 org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
位于 sun.reflect.NativeMethodAccessorImpl.invoke0(Native)位于


java.lang.reflect.Method.invoke(Method.java:498)位于 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62
org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:657)
位于 org.eclipse.equinox.Main.basicRun (
org.eclipse.equinox.launcher.Main.run(Main.java:1465)位于 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43: 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Robert、

    [引用 USER="Robert Watson3"]每当我尝试打开 Resource Explorer (联机或脱机)时,我都会收到错误消息`Failed to create the part's controls` with the details sing a `java.lang.RuntimeException:unsupported API`.

    我假设当您执行以下操作时、这种情况开始发生:

    [引用用户="Robert Watson3"]`窗口>首选项> Code Composer Studio >可用浏览器`已从默认`Chromium`更改为`内部浏览器`。

    必须将默认 CCS Chromium 浏览器与 Resource Explorer 配合使用。 否则、将出现"不支持的 API"错误。 请切换回默认值并查看该错误是否消失。

    [报价用户="Robert Watson3"]它可能不相关,但我发现“Getting statred”页面加载的时间不会超过空白屏幕

    我们需要单独对此进行调查。 但首先、确保返回默认浏览器解决了 Resource Explorer 问题。

    谢谢

    Ki

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Ki、

    感谢您对此进行深入研究。

    是的,`java.lang.RuntimeException:unsupported API` error 只在切换到`内部浏览器`后出现。

    运行默认`Chromium`选项时、`Getting Started`和`Resource Explorer`页面均显示为空白、但未报告错误消息(请参阅屏幕截图)。 我发现`内部浏览器`能够显示`Getting stated`页面,但 在尝试打开`Resource Explorer`时遇到`java.lang.RuntimeException:Unsupported API`错误。

    在我的原始帖子之后、我跟踪了此问题的原因。 它似乎与我的桌面环境有关,因为我运行 的是 Vanilla GNOME 桌面 ,而不是随 Ubuntu 18.04附带的库存版本。 我认为 CCS 的某些方面(或其依赖性)与 Vanilla GNOME 中使用的基于 Wayland 的环境不兼容。

    我可以通过恢复`Chromium`浏览器选项并在重新引导后通过用户登录屏幕设置将桌面会话从`GNOME`切换到`GNOME 和` GNOME 来绕过这些问题。 恢复到库存 Ubuntu 18.04会话也有效。

    这是我在上面遇到的问题的旁路、并允许 CCS 正常运行、从而解决了我的问题。

    谢谢、

    Robert。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Robert、

    感谢您的更新。 很高兴听到它正在工作。

    [引用 user="Robert Watson3"]我认为 CCS 的某些方面(或其依赖项)与 Vanilla GNOME 中使用的基于 Wayland 的环境不兼容。

    是的、您可能是正确的。 我听说过其他 CCS 用户关于 Wayland 环境的类似报告。

    Ki