Google Sceneform Tools (BETA) non crea .sfa

Aug 26 2020

Sto seguendo questo codelab e quando faccio clic con il pulsante destro del mouse sui file .obj e seleziono "importa asset sceneform" non viene creato il file sfa e viene visualizzato questo errore

java.lang.NoSuchMethodError: com.android.tools.idea.gradle.util.GradleUtil.getGradleBuildFilePath(Ljava/io/File;)Ljava/io/File;
    at com.google.ar.sceneform.plugin.actions.ui.GenerateSfbModel.handleFinished(GenerateSfbModel.java:444)
    at com.android.tools.idea.wizard.model.ModelWizard.handleFinished(ModelWizard.java:402)
    at com.android.tools.idea.wizard.model.ModelWizard.goForward(ModelWizard.java:330)
    at com.android.tools.idea.wizard.model.ModelWizardDialog$FinishAction.doAction(ModelWizardDialog.java:313) at com.intellij.openapi.ui.DialogWrapper$DialogWrapperAction.actionPerformed(DialogWrapper.java:1834)
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
    at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252) at java.awt.Component.processMouseEvent(Component.java:6550) at javax.swing.JComponent.processMouseEvent(JComponent.java:3325) at java.awt.Component.processEvent(Component.java:6315) at java.awt.Container.processEvent(Container.java:2239) at java.awt.Component.dispatchEventImpl(Component.java:4899) at java.awt.Container.dispatchEventImpl(Container.java:2297) at java.awt.Component.dispatchEvent(Component.java:4721) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4535) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476) at java.awt.Container.dispatchEventImpl(Container.java:2283) at java.awt.Window.dispatchEventImpl(Window.java:2746) at java.awt.Component.dispatchEvent(Component.java:4721) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:766) at java.awt.EventQueue.access$500(EventQueue.java:98)
    at java.awt.EventQueue$3.run(EventQueue.java:715) at java.awt.EventQueue$3.run(EventQueue.java:709)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84)
    at java.awt.EventQueue$4.run(EventQueue.java:739) at java.awt.EventQueue$4.run(EventQueue.java:737)
    at java.security.AccessController.doPrivileged(Native Method)

    .....

Sto installando il plugin direttamente da AndroidStudio (v4.0.1), Google Sceneform è 1.15.0 Ho provato ad aggiornare AndroidStudio a 4.1, ma questo si presenta

"Plugin Error: Plugin "Google Sceneform Tools (Beta)" is incompatible (supported only in IntelliJ IDEA)."

Come posso risolvere questo?

Risposte

Mick Aug 31 2020 at 16:04

ARCore Scenefrom è stato "open source e archiviato" - vedere la nota qui (https://developers.google.com/sceneform/develop):

Sceneform SDK per Android è stato open source e archiviato (github.com/google-ar/sceneform-android-sdk) con la versione 1.16.0.

Questo sito (developers.google.com/sceneform) funge da archivio della documentazione per la versione precedente, Sceneform SDK per Android 1.15.0.

Non utilizzare la versione 1.17.0 degli artefatti di Sceneform Maven.

Gli artefatti Maven 1.17.1 possono essere utilizzati. A parte la versione, tuttavia, gli artefatti 1.17.1 sono identici agli artefatti 1.15.0.

Quindi, potresti voler considerare come e se vuoi usare Scenefrom ora.

Per il problema specifico che stai riscontrando, questo è un problema noto con quella versione di Android Studio e Sceneform: vedi qui per una soluzione alternativa: https://stackoverflow.com/a/60515952/334402