RosettaDrone / rosettadrone

MAVlink and H.264 Video for DJI drones
BSD 3-Clause "New" or "Revised" License
308 stars 117 forks source link

WebRTC issue + MapBox issue #222

Closed mjohenneken closed 2 months ago

mjohenneken commented 2 months ago

Describe the bug

Hey folks, checking out this repository i ran into some issues with the build scripts. Running with the Android Studio 2020 version the app can be built with the outdated gradle and android build tools versions. However the google-webrtc dependency introduced the lastest PR is not outdated and not maintained. Additionally Jcenter shutdown and redirects the requests to Maven Central (see https://jfrog.com/blog/jcenter-sunset/) which doesn't host the package.

Could not find org.webrtc:google-webrtc:1.0.32006.
Required by:
    project: app

I'd suggest to use a different webrtc dependency. e.g. https://github.com/GetStream/webrtc-android?tab=readme-ov-file or the one from Twilio

Steps To Reproduce

No response

Screenshots

No response

Drone Model

N/A

Smartphone Model

- Model:
- Android version:

Additional context

No response

kripper commented 2 months ago

Thanks. @angel-ayala can you take a look please?

mjohenneken commented 2 months ago

Quoting From the JCenter sunset note:

What should a user do if a package they need is not available in Maven Central? If a specific package version you need is not available on Maven Central, you have the following options:

  • Contact the package owner and request that they make it available on Maven Central
  • Check for a more recent version of the package on Maven Central
  • Remove your dependency on the package
  • Copy the package to your organization’s internal repository If you are a JFrog user, and none of these options work for you, please reach out to support@jfrog.com.

For webrtc its seems we can use this package:

dependencies {
    implementation("io.getstream:stream-webrtc-android:1.1.3")
}

But also i found that the mapbox-android-sdk:9.2.0 links to jcenter packages which are not available anymore. I guess you still have a local copy in the package cache if you had a successful build before Aug 15th

Could not find com.mapbox.mapboxsdk:mapbox-android-accounts:0.7.0.
Required by:
    project :app > com.mapbox.mapboxsdk:mapbox-android-sdk:9.2.0
mjohenneken commented 2 months ago

https://github.com/mapbox/mapbox-gl-native-android/issues/721 Mapbox sdk is archived and there seem to be no plans to release those sdks on mavencentral. I guess the dependency need to be updated to make it work again for new users of rosettadrone Found the related issue created by @angel-ayala at the DJI MSDK https://github.com/dji-sdk/Mobile-UXSDK-Android/issues/154

kripper commented 2 months ago

Mapbox sdk is archived and there seem to be no plans to release those sdks on mavencentral

You are mixing different issues here. Please create another issue and edit previous comments.

mjohenneken commented 2 months ago

Actually my issue is more related to the failed build than the dated dependency. I actually found a solution, Mapbox provides their own Maven repository which still contains the dependencies that are currently required. You basically have to follow the Mapbox install instructions https://docs.mapbox.com/android/maps/guides/install/. The disadvantage of the solution is that one has to setup a Account and get an access token.

A easier option I also tried was Jitpack which does not work because mapbox is a dependency of the DJI MSDK.

I will put my findings into a PR in the coming days along with instructions :)

kripper commented 2 months ago

There is another explanation, but I don't want to mix different issues here.

kripper commented 2 months ago

This issue was for @angel-ayala (the webrtc issue), but since you are mixing things here and the title is not clear anymore, I'm closing this one.

kripper commented 2 months ago

Are you sure you provided a Google Maps API key as explained in the README?