首先,要检查是否在使用最新版本的com.google.ar.sceneform库。如果不是,则需要更新库版本。
如果你已经在使用最新版本的com.google.ar.sceneform库,那么你需要将你的应用从android.support库迁移到androidx库。
在build.gradle中,使用以下命令启用androidx:
android { ... compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 }
// Enables the use of AndroidX core library APIs
coreLibraryDesugaringEnabled true
}
然后,在你的代码中,将ArFragment改为ArFragmentCompat,示例代码如下:
import com.google.ar.sceneform.ux.ArFragmentCompat;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ArFragmentCompat arFragment = (ArFragmentCompat) getSupportFragmentManager().findFragmentById(R.id.arFragment);
}
}
这样就解决了“Android studio com.google.ar.sceneform.ux.ArFragment is incompatible with androidx.fragment.app.Fragment”的问题。