Download as pdf or txt
Download as pdf or txt
You are on page 1of 86

Android Mobile SDK 4.

9 Release Notes

Release Date
2019.01.28

Highlights
Phantom 4 RTK support

CAUTION: The Phantom 4 RTK remote controller with built-in screen is not supported.

Mavic 2 Enterprise Dual support


Intelligent Hotpoint (POI 2.0) support on Mavic 2 Zoom and Mavic 2 Pro
Add LiveStreamManager to stream the video to a RTMP server to do live streaming with DJI
products.
Bug fixes

Other Changes
New interface added: TapZoomStateCallback to update camera's zoom state. Please invoke
setTapZoomStateCallback(TapZoomStateCallback callback) to add the callback.
New interface added: startPrecisionTakeoff to start aircraft precision takeoff.
New interface added: getDesignCapacity is added into BatteryState to get battery ideal
capacity.
New interface added: videoFileType , quickShotVideoType , shootPhotoMode and
panoramaMode are added into MediaFile .
Add RTKKey for RTK related feature.

Supported Products
* Phantom 4 RTK
* Mavic 2 Enterprise, Mavic 2 Enterprise Dual
* Mavic 2 Pro
* Mavic 2 Zoom
* Spark
* Matrice 210
* Matrice 210RTK
* Matrice 200
* Inspire 2
* Mavic Pro
* Mavic Air
* Phantom 4, Phantom 4 Pro & Phantom 4 Advanced, Phantom 4 Pro V2.0
Products * Matrice 600 & Matrice 600 Pro, RTK and Ronin MX
* Phantom 3 Standard, Advanced, 4K & Professional
* Inspire 1, Inspire 1 Pro & Inspire 1 RAW
* Matrice 100 with X3, X5 & X5R
* Osmo, Osmo Pro, Osmo RAW & Osmo+
* Osmo Mobile
* Osmo Mobile 2
* Lightbridge 2 with A2
* Lightbridge 2 with standalone A3 or N3
* Focus
* N1 Video Encoder
* Payload devices
* Cendence

* Zenmuse X3, X5, X5R, Z3, Z30, X4S, X5S, X7


Cameras
* Zenmuse XT, Zenmuse XT2

Supported Firmware
Phantom 4 RTK: 01.07.0116
D-RTK 2: 01.07.0116
Mavic 2 Enterprise Dual:01.00.0000
Mavic 2 Enterprise: 01.00.0000
Mavic 2 Pro: 01.00.0200
Mavic 2 Zoom: 01.00.0200
Mavic Air: 01.00.0500
Phantom 4 Pro V2.0: 01.00.2200
Zenmuse XT2: 1.0.0.6
Payload: 01.03.0000
Osmo Mobile 2: 2.2.0.30
Spark: 01.00.1000
Matrice 200 series: 01.02.0301
Phantom 4 Advanced: 01.00.0128
Inspire 2: 01.02.0301
Phantom 4 Pro: 01.05.0600
Z30: 1.0.0.47
N3: 1.7.6.0
Mavic Pro: 01.04.0500
Matrice 600 Pro: 1.0.1.66
Matrice 600, RTK and Ronin MX: 1.0.1.66
Phantom 4: 02.00.0700
Zenmuse XT: 1.31.0.00
Zenmuse Z3: 1.11.01.50
Inspire 1 series: 1.11.01.50
Osmo: 1.11.2.70
Osmo Pro/RAW: 1.4.0.70
Osmo+: 1.6.1.00
Osmo Mobile: 1.6.0.80
Phantom 3 Professional & Advanced: 1.11.20
Phantom 3 Standard: 1.9.20
Phantom 3 4K: 1.6.50
Matrice 100: 1.3.1.82
Lightbridge 2: 1.1.70
A3: 1.7.7.0

Bug Fixes:
There is a low possibility that the a HotpointAction in a timeline mission may not end properly
when the angle smaller than 360 degrees: Fixed.

Returns nothing when listening to airlink UPLINKSIGNALQUALITY and


DOWNLINKSIGNALQUALITY on Mavic 2 Zoom: Fixed.

checkParameters() method in WaypointMission.class couldn't return the error if two


waypoints were too close to each other: Fixed.

Crash when calling stopConnectionToProduct: Fixed.

Returns BEGINACTION and FINISHACTION multiple times in onExecutionUpdate() or


getProgress().executeState() when executing Waypoint mission: Fixed.

No error returns when stop Waypoint mission during an illegal state: Fixed.
Returns failure when setting Wi-Fi channel number with Mavic Air: Fixed.

When setting up a listener for FlightControllerKey.HOME_LOCATION, only receive a call to


onValueChange(...) once: Fixed.

DJIWaypointExecutionProgress.isWaypointReached always returns false when


Inspire 1 reaches the final waypoint in Waypoint mission: Fixed.

java.lang.IllegalStateException: Unable to extract the trust manager...


compile error occur when using some third party SDK and DJISDK libraries: Fixed.

fetchFileData doesn't work with MediaFile result from setMediaFileCallback :


Fixed.

Known Issues:
Velocity property of TayFlyMission fails to set properly: Firmware issue.

In some cases, fetching media file may result in a time out.

Mobile SDK 4.7 and later versions are incompatible with x86 devices: Since v4.7, Mobile SDK has
included FFMpeg lib to provide the transcoded video feed, but FFMpeg x86 so files will lead to the
runtime crash when the target API of APP is larger than 23(included).

Waypoint missions sometimes finish immediately: Waypoint missions occassionally go from


"started" to "finished" state instantly.

MissingBackpressureException on waypoint mission: Happens occassionally.

OOM on HUAWEI M3 Tablet: M3 tablet is prone to getting OOM error.

DJIMediaFile.timeCreated off by one month for Mavic Air and Mavic 2 Enterprise Dual:
Firmware issue。

© 2019 DJI. All Rights Reserved.


Android Mobile SDK 4.8.1 Release Notes

Release Date
2018.11.17

Other Changes
Upgraded precise database to 01.00.01.12.
Key added: FlightControllerKey. TAKEOFF_LOCATION_ALTITUDE for getting the altitude
value above sea level before taking off.

Supported Products
* Mavic 2 Enterprise
* Mavic 2 Pro
* Mavic 2 Zoom
* Spark
* Matrice 210
* Matrice 210RTK
* Matrice 200
* Inspire 2
* Mavic Pro
* Mavic Air
* Phantom 4, Phantom 4 Pro & Phantom 4 Advanced, Phantom 4 Pro V2.0
* Matrice 600 & Matrice 600 Pro, RTK and Ronin MX
Products
* Phantom 3 Standard, Advanced, 4K & Professional
* Inspire 1, Inspire 1 Pro & Inspire 1 RAW
* Matrice 100 with X3, X5 & X5R
* Osmo, Osmo Pro, Osmo RAW & Osmo+
* Osmo Mobile
* Osmo Mobile 2
* Lightbridge 2 with A2
* Lightbridge 2 with standalone A3 or N3
* Focus
* N1 Video Encoder
* Payload devices
* Cendence

* Zenmuse X3, X5, X5R, Z3, Z30, X4S, X5S, X7


* Spark Camera
* Phantom 4 Pro Camera
Cameras * Mavic Pro Camera
* Phantom 4 Camera
* Phantom 3 Cameras
* Zenmuse XT, Zenmuse XT2

Supported Firmware
Mavic 2 Enterprise: 00.01.0300
Mavic 2 Pro: 01.00.0100
Mavic 2 Zoom: 01.00.0100
Mavic Air: 01.00.0500
Phantom 4 Pro V2.0: 01.00.2200
Zenmuse XT2: 1.0.0.6
Payload: 01.02.0000
Osmo Mobile 2: 2.2.0.30
Spark: 01.00.1000
Matrice 200 series: 01.01.0913
Phantom 4 Advanced: 01.00.0128
Inspire 2: 01.02.0200
Phantom 4 Pro: 01.05.0600
Z30: 1.0.0.47
N3: 1.7.1.5
Mavic Pro: 01.04.0500
Matrice 600 Pro: 1.0.1.66
Matrice 600, RTK and Ronin MX: 1.0.1.65
Phantom 4: 02.00.0700
Zenmuse XT: 1.31.0.00
Zenmuse Z3: 1.11.01.50
Inspire 1 series: 1.11.01.50
Osmo: 1.11.2.70
Osmo Pro/RAW: 1.4.0.70
Osmo+: 1.6.1.00
Osmo Mobile: 1.6.0.80
Phantom 3 Professional & Advanced: 1.11.20
Phantom 3 Standard: 1.9.20
Phantom 3 4K: 1.6.50
Matrice 100: 1.3.1.0
Lightbridge 2: 1.1.60
A3: 1.7.1.5

Bug Fixes:
Live stream could not be decoded correctly in OSMO. [Fixed]

Known Issues :
checkParameters() method in WaypointMission.class coundn't return the error if two
waypoints are too close to each other.

In some cases, execution of fetching media file would be timed out.

Incompatibility of Mobile SDK 4.7 with x86 device: Moble SDK 4.7 includes FFMpeg lib to provide
the transcoded video feed, but FFMpeg x86 so files will lead to the runtime crash when the target Api
of APP is larger than 23(included).
Data transfer issue between Mobile SDK and Onboard SDK: When the distance between the
aircraft and RC is more than 1 km, the data transfer between the two SDKs becomes unstable.

Waypoint missions sometimes finish immediately: Waypoint missions occassionally go from


"started" to "finished" state instantly.

MissingBackpressureException on waypoint mission: Happens occassionally.

OOM on HUAWEI M3 Tablet: M3 tablet is more prone to get OOM error.

© 2018 DJI. All Rights Reserved.


Android Mobile SDK 4.8 Release Notes

Release Date
2018.10.31

Highlights
DJI Mavic 2 Enterprise support.

Other Changes
The implementation of shoot photo button and record video button in MSDK have been removed,
developers need to implement their own function by listening to the press events of Remote Controller
for Mavic Pro and Mavic 2 platforms.

The implementation for login authorization has been changed, keep using old MSDK version might
lead to some unpredictable failure when authorizing user account or executing unlocking related
methods.

Existing So file change: libsqlcipher.so was renamed to libdjisqlcipher.so .

RTK.class was moved from dji.sdk.flightcontroller.rtk package to


dji.sdk.flightcontroller package.

Existing interface change: VideoDataCallback -> VideoDataListener in


VideoFeeder.class .

Existing interface change: setCallback() -> addVideoDataListener() in


VideoFeeder.class .

New interface added: requestLegacyGimbalControl() was added for Inspire 1 and


Lightbridge 2 Remote Controller, requestGimbalControl() was kept for Inspire 2 and
Cendence Remote Controller.

New interface added: addUserAccountStateChangeListener() was added in


UserAccountManager.class for listening to the changes of login state.

Supported Products
* Mavic 2 Enterprise
* Mavic 2 Pro
* Mavic 2 Zoom
* Spark
* Matrice 210
* Matrice 210RTK
* Matrice 200
* Inspire 2
* Mavic Pro
* Mavic Air
* Phantom 4, Phantom 4 Pro & Phantom 4 Advanced, Phantom 4 Pro V2.0
* Matrice 600 & Matrice 600 Pro, RTK and Ronin MX
Products
* Phantom 3 Standard, Advanced, 4K & Professional
* Inspire 1, Inspire 1 Pro & Inspire 1 RAW
* Matrice 100 with X3, X5 & X5R
* Osmo, Osmo Pro, Osmo RAW & Osmo+
* Osmo Mobile
* Osmo Mobile 2
* Lightbridge 2 with A2
* Lightbridge 2 with standalone A3 or N3
* Focus
* N1 Video Encoder
* Payload devices
* Cendence

* Zenmuse X3, X5, X5R, Z3, Z30, X4S, X5S, X7


* Spark Camera
* Phantom 4 Pro Camera
Cameras * Mavic Pro Camera
* Phantom 4 Camera
* Phantom 3 Cameras
* Zenmuse XT, Zenmuse XT2

Supported Firmware
Mavic 2 Enterprise: 00.01.0300
Mavic 2 Pro: 01.00.0100
Mavic 2 Zoom: 01.00.0100
Mavic Air: 01.00.0500
Phantom 4 Pro V2.0: 01.00.2200
Zenmuse XT2: 1.0.0.6
Payload: 01.02.0000
Osmo Mobile 2: 2.2.0.30
Spark: 01.00.1000
Matrice 200 series: 01.01.0913
Phantom 4 Advanced: 01.00.0128
Inspire 2: 01.02.0200
Phantom 4 Pro: 01.05.0600
Z30: 1.0.0.47
N3: 1.7.1.5
Mavic Pro: 01.04.0500
Matrice 600 Pro: 1.0.1.66
Matrice 600, RTK and Ronin MX: 1.0.1.65
Phantom 4: 02.00.0700
Zenmuse XT: 1.31.0.00
Zenmuse Z3: 1.11.01.50
Inspire 1 series: 1.11.01.50
Osmo: 1.11.2.70
Osmo Pro/RAW: 1.4.0.70
Osmo+: 1.6.1.00
Osmo Mobile: 1.6.0.80
Phantom 3 Professional & Advanced: 1.11.20
Phantom 3 Standard: 1.9.20
Phantom 3 4K: 1.6.50
Matrice 100: 1.3.1.0
Lightbridge 2: 1.1.60
A3: 1.7.1.5

Bug Fixes:
When Connecting to the Spark RC using a usb cable. AirLink module will return a
OcuSyncLink instead of a WiFiLink . [Fixed]
getRCSwitchFlightModeMapping() returns wrong values in some cases. [Fixed]
Some randomly crash issue due to NPE. [Fixed]
Some misbehavior issue in SDKManager 's Life-Cycle. [Fixed]
Some Timeline issue when rescheduling HotpointAction . [Fixed]
The interferfaces for getting values of accelerometer and compass isn't working properly. [Fixed]
Custom 1 and custom 2 button will triger two events when just click them once. [Fixed]

Known Issues :
checkParameters() method in WaypointMission.class coundn't return the error if two
waypoints are too close to each other.

In some cases, execution of fetching media file would be timed out.

Incompatibility of Mobile SDK 4.7 with x86 device: Moble SDK 4.7 includes FFMpeg lib to provide
the transcoded video feed, but FFMpeg x86 so files will lead to the runtime crash when the target Api
of APP is larger than 23(included).

Data transfer issue between Mobile SDK and Onboard SDK: When the distance between the
aircraft and RC is more than 1 km, the data transfer between the two SDKs becomes unstable.

Waypoint missions sometimes finish immediately: Waypoint missions occassionally go from


"started" to "finished" state instantly.

MissingBackpressureException on waypoint mission: Happens occassionally.

OOM on HUAWEI M3 Tablet: M3 tablet is more prone to get OOM error.

© 2018 DJI. All Rights Reserved.


Android Mobile SDK 4.7.1 Release Notes

Release Date
2018.09.04

Highlights
Upgraded precise database to 01.00.01.10.

Bug Fixes:
Fly zone data parsing error: The fly zone database will be updated within the next one to two
months. The new version will trigger a data parsing issue in SDK 4.7 and earlier. The locations of
some fly zones in the new database cannot be parsed correctly. The parsing issue is fixed in 4.7.1. To
give more time for migration to 4.7.1, the new database will be visible for SDK 4.7.1 in September and
October. For old SDK versions, the new database is not visible until November.
Cannot enable/disable custom unlocked zone: User couldn't enable or disable custom unlocked
zones. Fixed.
Bridge mode and video feed problem: In Bridge mode, the video feed may not have appeared crisp.
Fixed.

© 2018 DJI. All Rights Reserved.


Android Mobile SDK 4.7 Release Notes

Release Date
2018.8.23

Highlights
DJI Mavic 2 Pro and Mavic 2 Zoom support.
Transcoded VideoFeed support, which provides the main camera with H.264 video stream. The
developer can now set different data rates for different scenarios.

Other Changes
The Mavic 2 Pro and Mavic 2 Zoom's distortion calibration feature requires additional resource files,
increasing the size of the Mobile SDK package. If your app doesn't support these aircraft you can
exclude these resource files with a one line gradle configuration. Please see the sample demo for
details.

Existing interface change: set/getSavingPanoOriginalImagesEnabled ->


set/getPanoOriginalPhotoSettings name change.

Existing interface change: set/getLEDsEnabled -> set/getLEDsEnabledSettings Turns


on/off different sets of LEDs on the aircraft. All the LEDs are on by default.

New interface added: set/getRTHObstacleAvoidanceEnabled Enables/disables Obstacle


Avoidance during RTH. This is only active when the environment is bright enough.

New interface added: set/getRTHRemoteObstacleAvoidanceEnabled Enables/disables


Remote Obstacle Avoidance during RTH. Enabling this will cause the aircraft to adjust its RTH route
automatically to avoid distant obstacles.

New interface added: set/getESCBeepEnabled

New interface added: set/getCinematicYawSpeed Sets/gets the aircraft's yaw speed when
cinematic mode is enabled.

New interface added: set/getCinematicBrakeSensitivity Sets/Gets the braking sensitivity


when cinematic mode is enabled. Higher sensitivity can shorten the braking distance in cinematic
mode.
Supported Products

* Mavic 2 Pro
* Mavic 2 Zoom
* Spark
* Matrice 210
* Matrice 210RTK
* Matrice 200
* Inspire 2
* Mavic Pro
* Mavic Air
* Phantom 4, Phantom 4 Pro & Phantom 4 Advanced, Phantom 4 Pro V2.0
* Matrice 600 & Matrice 600 Pro, RTK and Ronin MX
Products * Phantom 3 Standard, Advanced, 4K & Professional
* Inspire 1, Inspire 1 Pro & Inspire 1 RAW
* Matrice 100 with X3, X5 & X5R
* Osmo, Osmo Pro, Osmo RAW & Osmo+
* Osmo Mobile
* Osmo Mobile 2
* Lightbridge 2 with A2
* Lightbridge 2 with standalone A3 or N3
* Focus
* N1 Video Encoder
* Payload devices
* Cendence

* Zenmuse X3, X5, X5R, Z3, Z30, X4S, X5S, X7


* Spark Camera
* Phantom 4 Pro Camera
Cameras * Mavic Pro Camera
* Phantom 4 Camera
* Phantom 3 Cameras
* Zenmuse XT, Zenmuse XT2

Supported Firmware
Mavic 2 Pro: 00.06.0000
Mavic 2 Zoom: 00.06.0000
Mavic Air: 01.00.0400
Phantom 4 Pro V2.0: 01.00.1500
Zenmuse XT2: 1.0.0.6
Payload: 01.02.0000
Osmo Mobile 2: 2.2.0.30
Spark: 01.00.1000
Matrice 200 series: 01.01.0913
Phantom 4 Advanced: 01.00.0128
Inspire 2: 01.02.0200
Phantom 4 Pro: 01.05.0600
Z30: 1.0.0.47
N3: 1.7.1.5
Mavic Pro: 01.04.0400
Matrice 600 Pro: 1.0.1.66
Matrice 600, RTK and Ronin MX: 1.0.1.65
Phantom 4: 02.00.0700
Zenmuse XT: 1.31.0.00
Zenmuse Z3: 1.11.01.50
Inspire 1 series: 1.11.01.50
Osmo: 1.11.2.70
Osmo Pro/RAW: 1.4.0.70
Osmo+: 1.6.1.00
Osmo Mobile: 1.6.0.80
Phantom 3 Professional & Advanced: 1.11.20
Phantom 3 Standard: 1.9.20
Phantom 3 4K: 1.6.50
Matrice 100: 1.3.1.0
Lightbridge 2: 1.1.60
A3: 1.7.1.5

Bug Fixes:
GPS location data of drone is a random value near the zero when GPS Level is very low. [Fixed]

Occasionaly confirmLanding() needed to be called twice to land aircraft. This has been fixed.

Known Issues :
Incompatibility of Mobile SDK 4.7 with x86 device: Moble SDK 4.7 includes FFMpeg lib to provide
the transcoded video feed, but FFMpeg x86 so files will lead to the runtime crash when the target Api
of APP is larger than 23(included).

MSDK lifecycle issue: The Mobile SDK behaves abnormally after calling destroy() method in
DJISDKManager.
P4P V2 unable to properly take photo with time interval in Waypoint Mission: This issue will be
fixed in new firmware of P4P V2.

Data transfer issue between Mobile SDK and Onboard SDK: When the distance between the
aircraft and RC is more than 1 km, the data transfer between the two SDKs becomes unstable.

Value of Accelerometer or Compass is not returned: The interferface for getting values of
accelerometer and compass isn't working properly.

Waypoint missions sometimes finish immediately: Waypoint missions occassionally go from


"started" to "finished" state instantly.

MissingBackpressureException on waypoint mission: Happens occassionally.

SDK automatically restarts after a crash: If the crash does happen inside SDK, SDK will restart the
application instead of letting the application stop.

OOM on HUAWEI M3 Tablet: M3 tablet is more prone to get OOM error.

© 2018 DJI. All Rights Reserved.


Android Mobile SDK 4.6 Release Notes

Release Date
2018.06.29

Highlights
DJI Phantom 4 Pro V2.0 support
Zenmuse XT2 support
Payload SDK support
Waypoint Mission, Follow Me Mission and HotPoint Mission support for Spark
Bug fixes
Add Data Protection Manager for GDPR (General Data Protection Regulation). Also add
documentation to describe the privacy data will be sent to DJI servers to the following interfaces:
registerApp in DJISDKManager
unlockFlyZones in FlyZoneManager

Other Changes
Extended AircraftYawAction to selectif the angle mode is absolute or relative.
Extended GimbalAttitudeAction to select gimbal modes.
Added isPaused in MissionAction to check if an action is paused.
Added setter/getter of YawSimultaneousFollowEnabled in Gimbal .
Added setter/getter of AutoLockGimbalEnabled in Camera to enhance the stability when
shooting photos.
Added interface to stop the auto-update of the country code in AirLink . The auto-update is
enabled by default. After disabling the auto-update, it is developer's responsibility to listen to
isUpdateCountryCodeRequired: and call updateCountryCode: when it is required.

Supported Products
* Spark
* Matrice 210
* Matrice 210RTK
* Matrice 200
* Inspire 2
* Mavic Pro
* Mavic Air
* Phantom 4, Phantom 4 Pro & Phantom 4 Advanced, Phantom 4 Pro V2.0
* Matrice 600 & Matrice 600 Pro, RTK and Ronin MX
* Phantom 3 Standard, Advanced, 4K & Professional
Products * Inspire 1, Inspire 1 Pro & Inspire 1 RAW
* Matrice 100 with X3, X5 & X5R
* Osmo, Osmo Pro, Osmo RAW & Osmo+
* Osmo Mobile
* Osmo Mobile 2
* Lightbridge 2 with A2
* Lightbridge 2 with standalone A3 or N3
* Focus
* N1 Video Encoder
* Payload devices
* Cendence

* Zenmuse X3, X5, X5R, Z3, Z30, X4S, X5S, X7


* Spark Camera
* Phantom 4 Pro Camera
Cameras * Mavic Pro Camera
* Phantom 4 Camera
* Phantom 3 Cameras
* Zenmuse XT, Zenmuse XT2

Supported Firmware
Mavic Air: 01.00.0400
Phantom 4 Pro V2.0: 01.00.1500
Zenmuse XT2: 1.0.0.1
Payload: 01.00.0900
Osmo Mobile 2: 2.2.0.30
Spark: 01.00.0900
Matrice 200 series: 01.01.0900
Phantom 4 Advanced: 01.00.0128
Inspire 2: 01.02.0100
Phantom 4 Pro: 01.05.0600
Z30: 1.0.0.47
N3: 1.7.1.5
Mavic Pro: 01.04.0300
Matrice 600 Pro: 1.0.1.66
Matrice 600, RTK and Ronin MX: 1.0.1.65
Phantom 4: 02.00.0700
Zenmuse XT: 1.31.0.00
Zenmuse Z3: 1.11.01.50
Inspire 1 series: 1.11.01.50
Osmo: 1.11.2.70
Osmo Pro/RAW: 1.4.0.70
Osmo+: 1.6.1.00
Osmo Mobile: 1.6.0.80
Phantom 3 Professional & Advanced: 1.11.20
Phantom 3 Standard: 1.9.20
Phantom 3 4K: 1.6.50
Matrice 100: 1.3.1.0
Lightbridge 2: 1.1.60
A3: 1.7.1.5

Bug Fixes:
Couldn't set the heading in Follow Me mission. [Fixed]
The SDK forces the RC to switch to CE mode which causes the RC to disconnect from the drone.
[Fixed]
Crash issue when searching for the OSMO Mobile2 with bluetooth interface. [Fixed]
Occasionaly isLandingConfirmationNeeded() returns wrong value. [Fixed]
Can't set channel selection mode for Wifi link. [Fixed]

Known Issues
Photo shoot miss during waypoint mission: On M200 series and Phantom 4 Pro, the camera may
fail to shoot photos during a waypoint mission. This issue will be addressed by the future firmware.
Waypoint missions sometimes finish immediately: Waypoint missions occassionally go from
"started" to "finished" state instantly.
MissingBackpressureException on waypoint mission: Happens occassionally.
SDK automatically restarts after a crash: If the crash does happen inside SDK, SDK will restart the
application instead of letting the application stop.
OOM on HUAWEI M3 Tablet: M3 tablet is more prone to get OOM error.
© 2018 DJI. All Rights Reserved.
Android Mobile SDK 4.5.1 Release Notes

Release Date
2018.5.1

Highlights
FlyZoneManager has been refactored to support the DJI Mavic Air's upcoming firmware.
LDM (Local Data Mode) improvement:
LDM is supported by default upon initial launch after application installation.
LDM support will be disabled after the SDK determines that the current location is in China. When
LDM is unsupported, LDM will be disabled automatically after a buffer duration. The buffer
duration has changed from 5 min to 2 min in SDK 4.5.1.

Bug Fixes:
Login UI issue: The login web view was refactored in SDK 4.5. However, the layout was not optimized
for different dimensions. The online web view has been improved and now adapts to different
dimensions.
Rotate Gimbal issue Calling the rotate gimbal interface would occasionally result in 'Timeout' error.
This has been fixed.

Known Issues
Photo shoot miss during waypoint mission: On M200 series and Phantom 4 Pro, the camera may
fail to shoot photos during the waypoint mission. This issue will be addressed by the future firmware.
Waypoint missions sometimes finish immediately: Waypoint missions occassionally go from
"started" to "finished" state instantly.
MissingBackpressureException on waypoint mission: Happens occassionally.
SDK automatically restarts after a crash: If the crash does happen inside SDK, SDK will restart the
application instead of letting the application stop.
Mission and Timeline related features and Spark: Spark is not yet supported by Mission or
Timeline.
P3P and Timeline: P3P Timeline behavior is sometimes unstable.
OOM on HUAWEI M3 Tablet: M3 tablet is more prone to get OOM error.

© 2018 DJI. All Rights Reserved.


Android Mobile SDK 4.5 Release Notes

Release Date
2018.4.10

Highlights
Mavic Air support
FlightHub support
Osmo Mobile 2 support
WaypointMission in Timeline support (using TimelineMission)
UX SDK v4.5 (previously UI Library) support
Support for getting Fusion Data from RTK module
Bug fixes

Other Changes
In order to support Mavic Air's internal storage, SDCardState has been replaced by
StorageState . The related interfaces have changed as follows:

The delegate method camera:setSDCardStateCallBack has been deprecated and


replaced by camera:setStorageStateCallBack .
Interfaces in MediaManager for file list have been refactored to support both SD card and
internal storage.

Added setter/getter of AttitudeSynchronizationEnabled in Gimbal . It can be enabled to


control both gimbals of dual-gimbal M210 (RTK) simultaneously.
Added setter/getter of ControllingGimbalIndex in RemoteController to select the gimbal
to control for M210 (RTK).
For Mavic Air compatibility, method maxAngularVelocityForRadius has been refactored as
getMaxAngularVelocityForRadius .
isKeySupported: has been added to KeyManager to check if a key is supported by the
connected product.
Fusion RTK location, altitude, and heading have been added to RTKState . These parameters are
used by the flight controller for navigation when RTK is available.

Supported Products
* Spark
* Matrice 210
* Matrice 210RTK
* Matrice 200
* Inspire 2
* Mavic Pro
* Mavic Air
* Phantom 4, Phantom 4 Pro & Phantom 4 Advanced
* Matrice 600 & Matrice 600 Pro, RTK and Ronin MX
* Phantom 3 Standard, Advanced, 4K & Professional
Products
* Inspire 1, Inspire 1 Pro & Inspire 1 RAW
* Matrice 100 with X3, X5 & X5R
* Osmo, Osmo Pro, Osmo RAW & Osmo+
* Osmo Mobile
* Osmo Mobile 2
* Lightbridge 2 with A2
* Lightbridge 2 with standalone A3 or N3
* Focus
* N1 Video Encoder
* Cendence

* Zenmuse X3, X5, X5R, Z3, Z30, X4S, X5S, X7


* Spark Camera
* Phantom 4 Pro Camera
Cameras * Mavic Pro Camera
* Phantom 4 Camera
* Phantom 3 Cameras
* Zenmuse XT

Supported Firmware
Mavic Air: 01.00.0300
Osmo Mobile 2: 2.1.0.20
Spark: 01.00.0900
Matrice 200 series: 01.01.0600
Phantom 4 Advanced: 01.00.0128
Inspire 2: 01.01.0300
Phantom 4 Pro: 01.05.0600
Z30: 1.0.0.47
N3: 1.7.1.5
Mavic Pro: 01.04.0300
Matrice 600 Pro: 1.0.1.65
Matrice 600, RTK and Ronin MX: 1.0.1.65
Phantom 4: 02.00.0700
Zenmuse XT: 1.31.0.00
Zenmuse Z3: 1.11.01.50
Inspire 1 series: 1.11.01.50
Osmo: 1.11.2.70
Osmo Pro/RAW: 1.4.0.70
Osmo+: 1.6.1.00
Osmo Mobile: 1.6.0.80
Phantom 3 Professional & Advanced: 1.11.20
Phantom 3 Standard: 1.9.20
Phantom 3 4K: 1.6.50
Matrice 100: 1.3.1.0
Lightbridge 2: 1.1.60
A3: 1.7.1.5

Bug Fixes:
Potential crash when using Ocusync with Mavic Pro: Powering off the aircraft might have caused
the SDK to crash. Fixed.
MapBox issue: Applications using MapBox may have malfunctioned when using Android devices with
arm64 or x86 architecture. Fixed.
Antivirus software issue: Some antivirus software (e.g. ESET Mobile) might have reported false
positive result for applications using SDK. Fixed.
USB reconnection issue: Unplugging and replugging USB cable while SDK application was running
might have caused SDK to malfunction. Fixed.
Incompatibility with Java 1.8 Lambda expression: Lambda expression in code would lead to build
error. Fixed.
Inconsistent Media file issue: Media file from onNewFile dateCreated was different from the Media
file in getFileListSnapshot. Fixed.
Downloading Media file issue: MediaFile.fetchFileData was unable to download files larger than
700MB. Fixed.
Enable Backward flying issue: Calling getRetreatEnabled() method would throw a DJIError "Feature
not supported". Fixed.
isLandingConfirmationNeeded not initialized: "isLandingConfirmationNeeded" didn't function when
disconnecting and reconnecting Android device. Fixed.
Inconsistent aircraft location issue: Inconsistent value between FlightControllerState's aircraft
location and FlightControllerKey.AIRCRAFT_LOCATION. Fixed.
Aircraft Yaw Action takes too long: Aircraft Yaw rotation action would take eleven seconds. Fixed.
Known Issues
Login UI issue: The login web view is refactored in SDK 4.5, but the layout has not yet been
optimized for different dimensions. The online web view will be improved in the near future and no
change is required to adapt the improvement from the SDK side. The workaround before the online
improvement is to adjust the view size to full screen.
Photo shot miss during waypoint mission: On M200 series and Phantom 4 Pro, the camera may
fail to shoot photos during the waypoint mission. This issue will be addressed by the future firmware.
Waypoint missions sometimes finish immediately: Waypoint missions occassionally go from
"started" to "finished" state instantly.
MissingBackpressureException on waypoint mission: Happens occassionally.
SDK automatically restarts after a crash: If the crash does happen inside SDK, SDK will restart the
application instead of letting the application stop.
Mission and Timeline related features and Spark: Spark is not yet supported by Mission or
Timeline.
P3P and Timeline: P3P Timeline behavior is sometimes unstable.
OOM on HUAWEI M3 Tablet: M3 tablet is more prone to getting OOM error.

© 2018 DJI. All Rights Reserved.


Android Mobile SDK 4.4.1 Release Notes

Release Date
2017.12.29

Highlights
Bug fixes

Supported Products

* Spark
* Matrice 210
* Matrice 210RTK
* Matrice 200
* Inspire 2
* Mavic Pro
* Phantom 4, Phantom 4 Pro & Phantom 4 Advanced
* Matrice 600 & Matrice 600 Pro, RTK and Ronin MX
* Phantom 3 Standard, Advanced, 4K & Professional
Products
* Inspire 1, Inspire 1 Pro & Inspire 1 RAW
* Matrice 100 with X3, X5 & X5R
* Osmo, Osmo Pro, Osmo RAW & Osmo+
* Osmo Mobile
* Lightbridge 2 with A2
* Lightbridge 2 with standalone A3 or N3
* Focus
* N1 Video Encoder
* Cendence

* Zenmuse X3, X5, X5R, Z3, Z30, X4S, X5S, X7


* Spark Camera
* Phantom 4 Pro Camera
Cameras * Mavic Pro Camera
* Phantom 4 Camera
* Phantom 3 Cameras
* Zenmuse XT
Supported Firmware
Spark: 01.00.0701
Matrice 200 series: 01.01.0412
Phantom 4 Advanced: 01.00.0128
Inspire 2: 01.01.0200
Phantom 4 Pro: 01.04.0602
Z30: 1.0.0.43
N3: 1.7.1.5
Mavic Pro: 01.04.0100
Matrice 600 Pro: 1.0.1.65
Matrice 600, RTK and Ronin MX: 1.0.1.65
Phantom 4: 02.00.0106
Zenmuse XT: 1.24.0.10
Zenmuse Z3: 1.11.01.50
Inspire 1 series: 1.11.01.50
Osmo: 1.11.2.70
Osmo Pro/RAW: 1.3.0.40
Osmo+: 1.6.1.00
Osmo Mobile: 1.6.0.80
Phantom 3 Professional & Advanced: 1.11.20
Phantom 3 Standard: 1.9.20
Phantom 3 4K: 1.6.50
Matrice 100: 1.3.1.0
Lightbridge 2: 1.1.60
A3: 1.7.1.5

Bug Fixes:
angularVelocity type in HotpointMission is int : The type of angularVelocity
has changed from int to float .
Conflict between DJI SDK v4.4.0 and AMap SDK: Removed AMap SDK packages from SDK.-
Login WebView: in some specific devices, saving password does not work properly and could cause
crashes. This has been fixed. The scaling of the WebView has also been adjusted to look better in
portrait mode.- SDK in BridgeMode: performance has been improved for BridgeMode to better
tolerate slow network connection scenario.- Incorrect value returned in
‘UplinkSignalQualityCallback’ and 'DownlinkSignalQualityCallback' of OcuSyncLink on Mavic
Pro: Fixed in this version.

Known Issues
None
© 2017 DJI. All Rights Reserved.
Android Mobile SDK 4.4 Release Notes

Release Date
2017.12.21

Highlights
New Product Support: Support for the Zenmuse X7 camera and Cendence remote controller.
Local Data Mode: A new feature which allows operation without internet data transfer.
Flight Record: Replacing the original SDK Logs, the new Flight Record system can be used to
determine if a product warranty claim is valid.
Timeline Mission updates: Added support for LandAction and Trigger.
SDK Integration: Some of SDK classes now need to be loaded before using. Loading process is done
by Helper.install(). Developer needs to call this method before using any SDK functionality. Failling to
do so will result in unexpected crashes. Please refer to the sample app for more detail.
Updates to GEO system.
Support for UI Library v4.4.
Bug fixes

Other Changes
Interfaces related to the digital filter in Camera have been renamed to color for consistentcy with DJI
GO. The original setter and getter for SSDVideoDigitalFilter have been renamed
SSDLegacyColor .
Added support for mechanical shutter switch.
Interfaces related to fly zone have been renamed for consistency with DJI GO. FlyZoneType.NFZ
and FlyZoneType.GEO have been merged and are now called FlyZoneType.Circle .
DJIGEOError has been renamed DJIFlySafeError . All "individual unlocking" interfaces have
changed to "custom unlocking". 'setGEOSystemEnabled' and 'getGEOSystemEnabled' interfaces have
been removed. See the diff file for more details.
The wind warning has been added to FlightControllerState .
The internal logic used to determine the country in which the product is operating has been refactored
in 4.4. The user's location information will not be sent to DJI servers.
The type of angularVelocity in HotpointMission has changed from int to float for
improved accuracy.
Setter and getter of LeftWheelGimbalControlSpeedCoefficient have been added to
RemoteController . Users can disable the remote control's left gimbal wheel by setting this
parameter to 0.
The enum ObstacleDetectionSectorWarning has been refactored to reflect recent firmware
changes.

Supported Products

* Spark
* Matrice 210
* Matrice 210RTK
* Matrice 200
* Inspire 2
* Mavic Pro
* Phantom 4, Phantom 4 Pro & Phantom 4 Advanced
* Matrice 600 & Matrice 600 Pro, RTK and Ronin MX
* Phantom 3 Standard, Advanced, 4K & Professional
Products
* Inspire 1, Inspire 1 Pro & Inspire 1 RAW
* Matrice 100 with X3, X5 & X5R
* Osmo, Osmo Pro, Osmo RAW & Osmo+
* Osmo Mobile
* Lightbridge 2 with A2
* Lightbridge 2 with standalone A3 or N3
* Focus
* N1 Video Encoder
* Cendence

* Zenmuse X3, X5, X5R, Z3, Z30, X4S, X5S, X7


* Spark Camera
* Phantom 4 Pro Camera
Cameras * Mavic Pro Camera
* Phantom 4 Camera
* Phantom 3 Cameras
* Zenmuse XT

Supported Firmware
Spark: 01.00.0701
Matrice 200 series: 01.01.0412
Phantom 4 Advanced: 01.00.0128
Inspire 2: 01.01.0200
Phantom 4 Pro: 01.04.0602
Z30: 1.0.0.43
N3: 1.7.1.5
Mavic Pro: 01.04.0100
Matrice 600 Pro: 1.0.1.65
Matrice 600, RTK and Ronin MX: 1.0.1.65
Phantom 4: 02.00.0106
Zenmuse XT: 1.24.0.10
Zenmuse Z3: 1.11.01.50
Inspire 1 series: 1.11.01.50
Osmo: 1.11.2.70
Osmo Pro/RAW: 1.3.0.40
Osmo+: 1.6.1.00
Osmo Mobile: 1.6.0.80
Phantom 3 Professional & Advanced: 1.11.20
Phantom 3 Standard: 1.9.20
Phantom 3 4K: 1.6.50
Matrice 100: 1.3.1.0
Lightbridge 2: 1.1.60
A3: 1.7.1.5

Bug Fixes:
Memory leaks: The SDK has been hardened against memory leaks.
Occasional crash when initializing fly safe service: Fixed a NullPointerException that might be
thrown during initialization of SDK.
Empty video resolution and frame rate range on Matrice 100: Added.
Failure to register SDK on some devices: Fixed.
HotpointMission execution issue: Fixed issue where HotpointMission could not execute successfully
although the callback onExecutionStart was invoked when the velocity was
maxAngularVelocityForRadius().
Value of DJIWaypoint.speed less than 1 m/s would be floored to 0 m/s: This has been fixed.
Tripod mode malfunctioning on Mavic Pro and Spark: This has been fixed.
MediaFile.getDateCreated() returned wrong time stamp: Fixed.
Gimbal interface rotate() issue: Fixed issue where the Gimbal interface rotate() wouldn't work when
the pitch speed was set to less than 1 deg/sec under speed rotation mode.
Possible OOM event during download of large media file: Fixed.
"onUploadUpdate()" callback issue: Fixed issue where onUploadUpdate() would be triggered
randomly during the flight.
respondToRequestGimbalControl() gives no response: Fixed.
Values returned by getSlaveList() might contain incorrect name when remote controller is in
Slave mode: Fixed.
Cannot get remote controller firmware version for some products such as A3, N3, Matrice 600
and Matrice 600 Pro: Fixed.
respondToRequestGimbalControl() gives no response: Fixed.
Values returned by getSlaveList() might contain incorrect name when remote controller is in
Slave mode: Fixed.
Cannot get remote controller firmware version for some products such as A3, N3, Matrice 600
and Matrice 600 Pro: Fixed.

Known Issues
None
© 2017 DJI. All Rights Reserved.
Android Mobile SDK 4.3.2 Release Notes

Release Date
2017.09.29

Highlights
Several critical bug fixes
Onboard SDK Support to M210 series

Supported Products

* Spark
* Matrice 210
* Matrice 210RTK
* Matrice 200
* Inspire 2
* Mavic Pro
* Phantom 4, Phantom 4 Pro & Phantom 4 Advanced
* Matrice 600 & Matrice 600 Pro, RTK and Ronin MX
Products * Phantom 3 Standard, Advanced, 4K & Professional
* Inspire 1, Inspire 1 Pro & Inspire 1 RAW
* Matrice 100 with X3, X5 & X5R
* Osmo, Osmo Pro, Osmo RAW & Osmo+
* Osmo Mobile
* Lightbridge 2 with A2
* Lightbridge 2 with standalone A3 or N3
* Focus
* N1 Video Encoder

* Zenmuse X3, X5, X5R, Z3, Z30, X4S, X5S


* Spark Camera
* Phantom 4 Pro Camera
Cameras * Mavic Pro Camera
* Phantom 4 Camera
* Phantom 3 Cameras
* Zenmuse XT
Supported Firmware
Spark: 01.00.0400
Matrice 200: 01.00.00.0000
Phantom 4 Advanced: 01.00.0128
Inspire 2: 1.0.0330
Phantom 4 Pro: 01.04.0602
Z30: 1.0.0.37
N3: 1.7.0.0
Mavic Pro: 01.03.0900
Matrice 600 Pro: 1.0.1.20
Matrice 600, RTK and Ronin MX: 1.0.1.20
Phantom 4: 1.2.602
Zenmuse XT: 1.24.0.10
Zenmuse Z3: 1.10.1.40
Inspire 1: 1.10.1.40
Inspire 1 Pro (X5 camera): 1.10.1.40
Inspire 1 RAW (X5R camera): 1.10.1.40
Osmo: 1.10.2.60
Osmo Pro (X5 camera): 1.3.0.40
Osmo RAW (X5R camera): 1.3.0.40
Osmo+: 1.5.0.90
Osmo Mobile: 1.6.0.80
Phantom 3 Professional & Advanced: 1.10.90
Phantom 3 Standard: 1.8.10
Phantom 3 4K: 1.5.40
Matrice 100: 1.3.1.0
Lightbridge 2: 1.1.60
A3: 1.7.0.0

Bug Fixes:
Aircraft take-off action causing SDK disconnection issue: In SDK version 4.3.0, at some GPS
locations, aircraft take-off action can cause the SDK to freeze for several seconds. This would then
lead to SDK being disconnected from the product temporarily. This has been fixed.
Camera.stopRecordVideo() issue: In SDK version 4.3.0, in some cases, stopRecordVideo could
misbehave and start video recording instead. This has been fixed.
FlyZoneManager.unlockFlyZones() issue: In SDK version 4.3.0, each authorized account can only
unlock one AUTHORIZATION fly zone successfully. Calling unlockFlyZones() using any fly zone id
after the first one has been unlocked might return with onSuccess(), but will not take effect. This has
been fixed.
Known Issues
Possible OOM event during download of large media file.
© 2017 DJI. All Rights Reserved.
Android Mobile SDK 4.3 Release Notes

Release Date
2017.09.15

Highlights
Support for Matrice 210 and Matrice 210RTK
Video playback support for the Osmo, XT, Z30, Phantom 3 Standard, and Phantom 3 Advanced
cameras
Refactored Flyzone Manager implementation
Support for x86 and Armv8 devices
Bug fixes
Support for UI Library v4.3
Performance improvements

Other Changes
isAttitudeReset in GimbalState has been deprecated because it is not supported by
firmware.
Battery threshold related interfaces refactor:
GoHomeBatteryThreshold has been renamed LowBatteryWarningThreshold .
LandImmediatelyBatteryThreshold has been renamed
SeriousLowBatteryWarningThreshold .
isLowerThanBatteryWarningThreshold and
isLowerThanSeriousBatteryWarningThreshold have been added to
FlightControllerState .

Support for Smart Return-To-Home (Smart RTH):


Setter and getter to enable Smart RTH.
Interface to confirm Smart RTH request.
isAircraftRequestingToGoHome in GoHomeAssessment has been replaced with
smartRTHState and smartRTHCountdown .

The ‘FocusAssistantSettings’ constructor has been refactored.


isRTKBeingUsed flag has been added to RTK state.
Support for enabling/disabling multiple flight modes.
Support for enabling/disabling novice mode.
Support for enabling/disabling infrared filter for the Z30 camera.
Support for landing confirmation.
Support for set/get media custom information.

Supported Products

* Spark
* Matrice 210
* Matrice 210RTK
* Matrice 200
* Inspire 2
* Mavic Pro
* Phantom 4, Phantom 4 Pro & Phantom 4 Advanced
* Matrice 600 & Matrice 600 Pro, RTK and Ronin MX
Products * Phantom 3 Standard, Advanced, 4K & Professional
* Inspire 1, Inspire 1 Pro & Inspire 1 RAW
* Matrice 100 with X3, X5 & X5R
* Osmo, Osmo Pro, Osmo RAW & Osmo+
* Osmo Mobile
* Lightbridge 2 with A2
* Lightbridge 2 with standalone A3 or N3
* Focus
* N1 Video Encoder

* Zenmuse X3, X5, X5R, Z3, Z30, X4S, X5S


* Spark Camera
* Phantom 4 Pro Camera
Cameras * Mavic Pro Camera
* Phantom 4 Camera
* Phantom 3 Cameras
* Zenmuse XT

Supported Firmware
Spark: 01.00.0400
Matrice 200: 01.00.00.0000
Phantom 4 Advanced: 01.00.0128
Inspire 2: 1.0.0330
Phantom 4 Pro: 01.04.0602
Z30: 1.0.0.37
N3: 1.7.0.0
Mavic Pro: 01.03.0900
Matrice 600 Pro: 1.0.1.20
Matrice 600, RTK and Ronin MX: 1.0.1.20
Phantom 4: 1.2.602
Zenmuse XT: 1.24.0.10
Zenmuse Z3: 1.10.1.40
Inspire 1: 1.10.1.40
Inspire 1 Pro (X5 camera): 1.10.1.40
Inspire 1 RAW (X5R camera): 1.10.1.40
Osmo: 1.10.2.60
Osmo Pro (X5 camera): 1.3.0.40
Osmo RAW (X5R camera): 1.3.0.40
Osmo+: 1.5.0.90
Osmo Mobile: 1.6.0.80
Phantom 3 Professional & Advanced: 1.10.90
Phantom 3 Standard: 1.8.10
Phantom 3 4K: 1.5.40
Matrice 100: 1.3.1.0
Lightbridge 2: 1.1.60
A3: 1.7.0.0

Bug Fixes:
Wrong argument type for max flight height and max flight radius: Corrected, from float to int.
MediaFile’s name does not match file name in SD card: For Phantom 4 Pro camera, Phantom 4
Advanced camera, X4S and X5S, MediaFile’s name doesn’t match the file name in SD card. It is fixed
in 4.3.
Crash during fly zone database update: In the previous version of SDK, multiple threads could
simultaneously access the database causing occasional crashes. In the updated SDK 4.3, the code
has been refactored to avoid this condition; therefore, the likelihood of this crash occurring should be
reduced.
‘The execution could not be executed’: This would sometimes occur between Timeline steps. It's
been fixed.
Duplicate Gson libraries included between Mobile SDK + UI Library: Fixed.
Occassional crashes while running waypoint mission: MissingBackpressureException would be
thrown during execution of waypoint mission. This has been fixed.
’getRCSwitchFlightModeMapping’ returns wrong mapping mode: This has been fixed.
SDK crashes when USB cable is unplugged from RC: This has been fixed.
‘setExitMissionOnRCSignalLostEnabled’ has no effect on Waypoint mission: Fixed.
‘getChannelNumberValidRange’ and ‘getChannelRange’ returns wrong value on Mavic Pro: This
has been fixed.
getCamera().getCapabilities().apertureRange() returns null on Phantom 4 Pro: Fixed.
Pitch Value push info doesn't show properly with some lag: Fixed.
Crash when camera/gimbal physically disconnected from the aircraft: This has been fixed.
Wrong product recognition when connected to A3 and X5 camera: The product would be
recognized as Inspire 1 Pro. This has been fixed.
.so file conflict when compiling DJI Android SDK and Wechat SDK: Fixed.

Known Issues
Mavic joysticks: When using joysticks with Mavic Pro in WiFi mode, aircraft may sometimes
experience unexpected behavior.
Temporary disconnection from aircraft by SDK with Assistant 2: Taking off in Assistant 2's
simulator may cause the SDK to disconnect from the aircraft, before reconnecting several seconds
later.
Possible OOM event during download of large media file.

© 2017 DJI. All Rights Reserved.


Android Mobile SDK 4.2.1 Release Notes

Release Date
2017.07.03

Highlights
UI Library support
Minor bug fixes

Supported Products

* Spark
* Matrice 200
* Inspire 2
* Mavic Pro
* Phantom 4, Phantom 4 Pro & Phantom 4 Advanced
* Matrice 600 & Matrice 600 Pro, RTK and Ronin MX
* Phantom 3 Standard, Advanced, 4K & Professional
Products * Inspire 1, Inspire 1 Pro & Inspire 1 RAW
* Matrice 100 with X3, X5 & X5R
* Osmo, Osmo Pro, Osmo RAW & Osmo+
* Osmo Mobile
* Lightbridge 2 with A2
* Lightbridge 2 with standalone A3 or N3
* Focus
* N1 Video Encoder

* Zenmuse X3, X5, X5R, Z3, Z30, X4S, X5S


* Spark Camera
* Phantom 4 Pro Camera
Cameras * Mavic Pro Camera
* Phantom 4 Camera
* Phantom 3 Cameras
* Zenmuse XT

Supported Firmware
Spark: 01.00.0400
Matrice 200: 01.00.00.0000
Phantom 4 Advanced: 01.00.0128
Inspire 2: 1.0.0330
Phantom 4 Pro: 01.04.0602
Z30: 1.0.0.37
N3: 1.7.0.0
Mavic Pro: 01.03.0900
Matrice 600 Pro: 1.0.1.20
Matrice 600, RTK and Ronin MX: 1.0.1.20
Phantom 4: 1.2.602
Zenmuse XT: 1.24.0.10
Zenmuse Z3: 1.10.1.40
Inspire 1: 1.10.1.40
Inspire 1 Pro (X5 camera): 1.10.1.40
Inspire 1 RAW (X5R camera): 1.10.1.40
Osmo: 1.10.2.60
Osmo Pro (X5 camera): 1.3.0.40
Osmo RAW (X5R camera): 1.3.0.40
Osmo+: 1.5.0.90
Osmo Mobile: 1.6.0.80
Phantom 3 Professional & Advanced: 1.10.90
Phantom 3 Standard: 1.8.10
Phantom 3 4K: 1.5.40
Matrice 100: 1.3.1.0
Lightbridge 2: 1.1.60
A3: 1.7.0.0

Bug Fixes:
M600 + X5 Issues: The SDK was mistaking the M600 with X5 camera for an Inspire 1 Pro. This has
been fixed.

Known Issues
libdjivideojni x86 version issues: SDK does not work on some x86 machines.

© 2017 DJI. All Rights Reserved.


Android Mobile SDK 4.2 Release Notes

Release Date
2017.6.23

Highlights
Spark Support: Spark is supported in Mobile SDK 4.2.
Media Manager Refactor: Robust, easier to manage media files. A task scheduler also is added to
conveniently allow the small content types of media files (preview, thumbnail and custom data) to be
downloaded to the mobile device. The scheduler can be used to queue and download content from a
series of files, as well as used to re-prioritize files during the download process.

Note: This is the last release in which the JAR file format is supported. All future releases will
use the AAR format.

Up until now, our Android SDK has been released under the JAR format with support for Eclipse.

Developers are moving away from using Eclipse with JAR and toward using Android Studio with AAR.

Starting with SDK 4.2, the Android SDK will be published in AAR format only; Eclipse will no longer be
supported.

Supported Products
* Spark
* Matrice 200
* Inspire 2
* Mavic Pro
* Phantom 4, Phantom 4 Pro & Phantom 4 Advanced
* Matrice 600 & Matrice 600 Pro, RTK and Ronin MX
* Phantom 3 Standard, Advanced, 4K & Professional
Products * Inspire 1, Inspire 1 Pro & Inspire 1 RAW
* Matrice 100 with X3, X5 & X5R
* Osmo, Osmo Pro, Osmo RAW & Osmo+
* Osmo Mobile
* Lightbridge 2 with A2
* Lightbridge 2 with standalone A3 or N3
* Focus
* N1 Video Encoder

* Zenmuse X3, X5, X5R, Z3, Z30, X4S, X5S


* Spark Camera
* Phantom 4 Pro Camera
Cameras * Mavic Pro Camera
* Phantom 4 Camera
* Phantom 3 Cameras
* Zenmuse XT

Supported Firmware
Spark: 01.00.0400
Matrice 200: 01.00.00.0000
Phantom 4 Advanced: 01.00.0128
Inspire 2: 1.0.0330
Phantom 4 Pro: 01.04.0602
Z30: 1.0.0.37
N3: 1.7.0.0
Mavic Pro: 01.03.0900
Matrice 600 Pro: 1.0.1.20
Matrice 600, RTK and Ronin MX: 1.0.1.20
Phantom 4: 1.2.602
Zenmuse XT: 1.24.0.10
Zenmuse Z3: 1.10.1.40
Inspire 1: 1.10.1.40
Inspire 1 Pro (X5 camera): 1.10.1.40
Inspire 1 RAW (X5R camera): 1.10.1.40
Osmo: 1.10.2.60
Osmo Pro (X5 camera): 1.3.0.40
Osmo RAW (X5R camera): 1.3.0.40
Osmo+: 1.5.0.90
Osmo Mobile: 1.6.0.80
Phantom 3 Professional & Advanced: 1.10.90
Phantom 3 Standard: 1.8.10
Phantom 3 4K: 1.5.40
Matrice 100: 1.3.1.0
Lightbridge 2: 1.1.60
A3: 1.7.0.0

Bug Fixes:
Incorrect value returned by getRollFineTuneInDegrees(): This has been fixed.
Timeout error when uploading Waypoint mission: Uploading Waypoint mission will get timeout
easily. This has been fixed.
Crash issue with Osmo+ SDK will crash when connecting to Osmo+. This has been fixed.
Crash issue with playVideo() on Samsung S6: This has been fixed.
Two elements in timeline cannot be stopped once started: GimbalAttitudeAction and
ShootPhotoAction in interval mode (using constructor that takes two arguments) cannot be stopped
once started. This has been fixed.

Known Issues
libdjivideojni x86 version issues: SDK does not work on some x86 machines.

© 2017 DJI. All Rights Reserved.


Android Mobile SDK 4.1.1 Release Notes

Release Date
2017.06.06

Highlights
SDK 4.1.1 includes important bug fixes, and more tip messages of not taking off after calling of
setDiagnosticsInformationCallback in BaseProduct.

Supported Products

* Matrice 200
* Inspire 2
* Mavic Pro
* Phantom 4, Phantom 4 Pro & Phantom 4 Advanced
* Matrice 600 & Matrice 600 Pro, RTK and Ronin MX
* Phantom 3 Standard, Advanced, 4K & Professional
* Inspire 1, Inspire 1 Pro & Inspire 1 RAW
Products
* Matrice 100 with X3, X5 & X5R
* Osmo, Osmo Pro, Osmo RAW & Osmo+
* Osmo Mobile
* Lightbridge 2 with A2
* Lightbridge 2 with standalone A3 or N3
* Focus
* N1 Video Encoder

* Zenmuse X3, X5, X5R, Z3, Z30, X4S, X5S


* Phantom 4 Pro Camera
* Mavic Pro Camera
Cameras
* Phantom 4 Camera
* Phantom 3 Cameras
* Zenmuse XT

Supported Firmware
Matrice 200: upcoming
Phantom 4 Advanced: 2.1.0.0
Inspire 2: 1.0.0330
Phantom 4 Pro: 1.3.0509
Z30: 1.0.0.20
N3: 1.7.0.0
Mavic Pro: 1.3.7
Matrice 600 Pro: 1.0.1.20
Matrice 600, RTK and Ronin MX: 1.0.1.20
Phantom 4: 1.2.602
Zenmuse XT: 1.24.0.10
Zenmuse Z3: 1.10.1.40
Inspire 1: 1.10.1.40
Inspire 1 Pro (X5 camera): 1.10.1.40
Inspire 1 RAW (X5R camera): 1.10.1.40
Osmo: 1.8.2.40
Osmo Pro (X5 camera): 1.3.0.40
Osmo RAW (X5R camera): 1.3.0.40
Osmo+: 1.5.0.90
Osmo Mobile: 1.5.0.70
Phantom 3 Professional & Advanced: 1.10.90
Phantom 3 Standard: 1.8.10
Phantom 3 4K: 1.5.40
Matrice 100: 1.3.1.0
Lightbridge 2: 1.1.60
A3: 1.7.0.0

Bug Fixes:
Crashes when initiating the DJISDKManager in some Android devices: Crash would occur in
some Android devices when start up the SDK.
Can’t set tripod mode fro Mavic Pro: The tripod mode can’t be set successfully in Mavic Pro.

Known Issues
libdjivideojni X86 version issues
Two elements in timeline cannot be stopped once started: GimbalAttitudeAction and
ShootPhotoAction in interval mode (using constructor that takes two arguments) cannot be stopped
once started.

If one of these actions is the only element in a timeline, calling stopTimeline() during the execution
of these elements will not work. Element will still execute to completion.
If they are part of a timeline that has many elements, calling stopTimeline() during the execution
of these elements will not work, but all the elements that follow will be stopped effectively.

© 2017 DJI. All Rights Reserved.


Android Mobile SDK 4.1 Release Notes

Release Date
2017.5.26

Highlights
APIs for application activation system. See details in the next section.
Matrice 200 support
Phantom 4 Advanced support
APIs for working with individually unlocked fly zones

Application Activation
In July, DJI aircraft firmware will require mobile applications that control DJI aircraft to be activated with the
user’s DJI account, if that application is being used in China. This will ensure operators use the correct set
of geospatial information and flight functions for their aircraft, as determined by their geographical location
and user profile.

A summary of the activation system is:

On July 1, this feature will go live on all aircraft (except standalone A3 and N3) that have been
upgraded to the latest firmware
Users in China will be required to activate their application by logging into their DJI account at least
once every three months within the application
Activation will be persistent in the application until the user logs out
A data connection will be required to log into a DJI account
Outside of China, the SDK will automatically activate the application without requiring the user to log in
If an application is not activated, or a legacy version of the SDK is being used, all camera live streams
will be disabled, and flight will be limited to a cylinder of 100m diameter and 30m height to ensure the
aircraft stays within line of sight.

v4.1 of the Mobile SDK includes APIs to support this system. Applications should update to v4.1 as soon as
they can to support the activation system natively. For applications that are not upgraded to v4.1 or
activated by the user, full aircraft functionality can still be achieved by first connecting any other
upgraded/activated application on each power cycle of the aircraft. For example, DJI Go could be initially
connected to the aircraft, then the user could switch to the SDK based application.
Support for Individually Unlocked Fly Zones
Restricted fly zones can be unlocked on an individual basis. Unlocking is done through the DJI web site
here. APIs have been added to the SDK to support these unlocked fly zones.

Supported Products

* Matrice 200
* Inspire 2
* Mavic Pro
* Phantom 4, Phantom 4 Pro & Phantom 4 Advanced
* Matrice 600 & Matrice 600 Pro, RTK and Ronin MX
* Phantom 3 Standard, Advanced, 4K & Professional
* Inspire 1, Inspire 1 Pro & Inspire 1 RAW
Products
* Matrice 100 with X3, X5 & X5R
* Osmo, Osmo Pro, Osmo RAW & Osmo+
* Osmo Mobile
* Lightbridge 2 with A2
* Lightbridge 2 with standalone A3 or N3
* Focus
* N1 Video Encoder

* Zenmuse X3, X5, X5R, Z3, Z30, X4S, X5S


* Phantom 4 Pro Camera
* Mavic Pro Camera
Cameras
* Phantom 4 Camera
* Phantom 3 Cameras
* Zenmuse XT

Supported Firmware
Matrice 200: upcoming
Phantom 4 Advanced: 2.1.0.0
Inspire 2: 1.0.0330
Phantom 4 Pro: 1.3.0509
Z30: 1.0.0.20
N3: 1.7.0.0
Mavic Pro: 1.3.7
Matrice 600 Pro: 1.0.1.20
Matrice 600, RTK and Ronin MX: 1.0.1.20
Phantom 4: 1.2.602
Zenmuse XT: 1.24.0.10
Zenmuse Z3: 1.10.1.40
Inspire 1: 1.10.1.40
Inspire 1 Pro (X5 camera): 1.10.1.40
Inspire 1 RAW (X5R camera): 1.10.1.40
Osmo: 1.8.2.40
Osmo Pro (X5 camera): 1.3.0.40
Osmo RAW (X5R camera): 1.3.0.40
Osmo+: 1.5.0.90
Osmo Mobile: 1.5.0.70
Phantom 3 Professional & Advanced: 1.10.90
Phantom 3 Standard: 1.8.10
Phantom 3 4K: 1.5.40
Matrice 100: 1.3.1.0
Lightbridge 2: 1.1.60
A3: 1.7.0.0

Bug Fixes:
Crashes when calling the play video function: Crash would occur while recording a video when
immediately changing to mediadownload to play the video. This has been fixed.
Incorrect validation range for WaypointAction.actionParam: The action parameter validation was
incorrect, and has been removed.
Incorrect validation for WaypointMission.Builder repeatTimes: The range now correctly starts at 0.
High rate of java.lang.NullPointerException log at dji.midware.data.a.a.c.b: It is fixed in this
version.
Callback unsuccessful when user used stopTracking in an ActiveTrack Mission: The stop action
would be successfully executed but no callback would be returned. This has been fixed.
Five-dimensional button status error: isPresent() and isClicked() would return false when using five-
dimensional button. Fixed.
Gimbal work mode timeout message: Though actually successful, a timeout message was returned
whenever setting the gimbal's work mode. Fixed.
Simulator error upon start: The error, "execution of this process has timed out" was incorrectly
shown upon simulator start. This has been fixed.
getRollFineTuneInDegrees returns values within incorrect range: The range should be (10,-10),
but was instead (100,-100). It is fixed.
Go Home altitude constraints missing: User was able to set Go Home altitude higher than
maximum altitude. It is fixed.

Known Issues
libdjivideojni X86 version issues:
Two elements in timeline cannot be stopped once started: GimbalAttitudeAction and
ShootPhotoAction in interval mode (using constructor that takes two arguments) cannot be stopped
once started.

If one of these actions is the only element in a timeline, calling stopTimeline() during the execution
of these elements will not work. Element will still execute to completion.
If they are part of a timeline that has many elements, calling stopTimeline() during the execution
of these elements will not work, but all the elements that follow will be stopped effectively.

© 2017 DJI. All Rights Reserved.


Android Mobile SDK 4.0.2 Release Notes

Release Date
2017.5.10

Highlights
SDK 4.0.2 includes important bug fixes, and an addition to Camera Settings Definitions (see diff file for
details).

Supported Products

* Inspire 2
* Mavic Pro
* Phantom 4 & Phantom 4 Pro
* Matrice 600 & Matrice 600 Pro, RTK and Ronin MX
* Phantom 3 Standard, Advanced, 4K & Professional
* Inspire 1, Inspire 1 Pro & Inspire 1 RAW
Products * Matrice 100 with X3, X5 & X5R
* Osmo, Osmo Pro, Osmo RAW & Osmo+
* Osmo Mobile
* Lightbridge 2 with A2
* Lightbridge 2 with standalone A3 or N3
* Focus
* N1 Video Encoder

* Zenmuse X3, X5, X5R, Z3, Z30, X4S, X5S


* Phantom 4 Pro Camera
* Mavic Pro Camera
Cameras
* Phantom 4 Camera
* Phantom 3 Cameras
* Zenmuse XT

Supported Firmware
Inspire 2: 1.0.0330
Phantom 4 Pro: 1.3.509
Z30: 1.0.0.20
N3: 1.7.0.0
Mavic Pro: 1.3.6
Matrice 600 Pro: 1.0.0.80
Matrice 600, RTK and Ronin MX: 1.0.0.80
Phantom 4: 1.2.602
Zenmuse XT: 1.24.0.10
Zenmuse Z3: 1.10.1.40
Inspire 1: 1.10.1.40
Inspire 1 Pro (X5 camera): 1.10.1.40
Inspire 1 RAW (X5R camera): 1.10.1.40
Osmo: 1.8.2.40
Osmo Pro (X5 camera): 1.3.0.40
Osmo RAW (X5R camera): 1.3.0.40
Osmo+: 1.4.0.70
Osmo Mobile: 1.5.0.70
Phantom 3 Professional & Advanced: 1.10.90
Phantom 3 Standard: 1.8.10
Phantom 3 4K: 1.5.40
Matrice 100: 1.3.1.0
Lightbridge 2: 1.1.50
A3: 1.7.0.0

Bug Fixes
Simulator issue: Issue was fixed whereby aircraft simulation would stay on when the app disconnects
from the product.
Timeline mission stop mission issue: Issue was fixed whereby stop timeline could not be executed
when timeline was executing waypoint step or hotpoint step.
Start timeline mission issue: Issue was fixed whereby starting timeline mission would generate "The
execution could not be executed." error if the last step was a waypoint step.
Timeline restart: Previously, trying to start the same timeline for the second time would fail. This is
now fixed.

© 2017 DJI. All Rights Reserved.


Android Mobile SDK 4.0.1 Release Notes

Release Date
2017.4.18

Highlights
SDK 4.0.1 includes some minor changes to support UI Library. See the android diff for the full list of
differences from SDK 4.0.

Supported Products

* Inspire 2
* Mavic Pro
* Phantom 4 & Phantom 4 Pro
* Matrice 600 & Matrice 600 Pro, RTK and Ronin MX
* Phantom 3 Standard, Advanced, 4K & Professional
* Inspire 1, Inspire 1 Pro & Inspire 1 RAW
Products * Matrice 100 with X3, X5 & X5R
* Osmo, Osmo Pro, Osmo RAW & Osmo+
* Osmo Mobile
* Lightbridge 2 with A2
* Lightbridge 2 with standalone A3 or N3
* Focus
* N1 Video Encoder

* Zenmuse X3, X5, X5R, Z3, Z30, X4S, X5S


* Phantom 4 Pro Camera
* Mavic Pro Camera
Cameras
* Phantom 4 Camera
* Phantom 3 Cameras
* Zenmuse XT

Supported Firmware
Inspire 2: 1.0.0330
Phantom 4 Pro: 1.3.509
Z30: 1.0.0.20
N3: 1.7.0.0
Mavic Pro: 1.3.6
Matrice 600 Pro: 1.0.0.80
Matrice 600, RTK and Ronin MX: 1.0.0.80
Phantom 4: 1.2.602
Zenmuse XT: 1.24.0.10
Zenmuse Z3: 1.10.1.40
Inspire 1: 1.10.1.40
Inspire 1 Pro (X5 camera): 1.10.1.40
Inspire 1 RAW (X5R camera): 1.10.1.40
Osmo: 1.8.2.40
Osmo Pro (X5 camera): 1.3.0.40
Osmo RAW (X5R camera): 1.3.0.40
Osmo+: 1.4.0.70
Osmo Mobile: 1.5.0.70
Phantom 3 Professional & Advanced: 1.10.90
Phantom 3 Standard: 1.8.10
Phantom 3 4K: 1.5.40
Matrice 100: 1.3.1.0
Lightbridge 2: 1.1.50
A3: 1.7.0.0

Bug Fixes
Firmware issue: Issue was fixed whereby Mavic, Phantom 4 Pro, and Inspire 2 had unpredictable
behavior when using virtual stick mode. This bug included yaw actions in any mission when using the
above products.

Known Issues
Firmware issue: Sometimes video cannot be recorded directly after taking a photo at a waypoint in a
Waypoint Mission.
Website Documentation: The website documentation and tutorials are not yet updated for SDK 4.0
interfaces and concepts. The website will be updated in the coming weeks.
API Documentation search doesn't work for SDK Keys: When you search the API documentation,
SDK keys are not yet included in the search results. This will be updated soon.

© 2017 DJI. All Rights Reserved.


Android Mobile SDK 4.0 Release Notes

Release Date
2017.03.28

Highlights
SDK 4.0 provides large efficiency improvements in developing with the Mobile SDK.

UI Libraries: SDK 4.0 includes a set of UI Libraries to enable rapid application development. UI
Libraries is currently in Beta, and will be updated soon to a full release.
SDK Keys: Subscription mechanism for existing SDK interfaces allowing cleaner, more efficient
application code. See more details here.
Mission Manager Refactor: Robust, easier to manage missions. Mission Control is introduced which
contains mission operators and a mission timeline. The mission operators are used to control and get
accurate state information for each of the missions. The mission timeline replaces the custom mission,
as a way to sequentially execute missions and actions. It also includes a mechanism to have triggers
during a mission, and allows creation of custom timeline elements. See more details here.
API update: More consistent, intuitive naming. Completely new to the SDK, is the Video Feeder
interface, which enables subscription to the aircraft's video feeds. Media Manager has also been
updated to include playback functionality for the Inspire 2 and Phantom 4 Pro. See here for an API diff
comparing 3.5 to 4.0 and here for 4.0 Beta to 4.0.
Revamped API Documentation: Our online and offline documentation has been completely
refactored to be easier to explore and search. APIs are largely ordered by functionality in an effort to
improve discoverability. A search feature is included to more quickly find the API you're looking for.
No-Fly-Zone Update: add support for the polygon no-fly-zone.
Bridge app: New for Android. For convenient debugging, use in CI environments and remote
development. The bridge app is currently in Beta and can be downloaded here.

Supported Products
* Inspire 2
* Mavic Pro
* Phantom 4 & Phantom 4 Pro
* Matrice 600 & Matrice 600 Pro, RTK and Ronin MX
* Phantom 3 Standard, Advanced, 4K & Professional
* Inspire 1, Inspire 1 Pro & Inspire 1 RAW
Products * Matrice 100 with X3, X5 & X5R
* Osmo, Osmo Pro, Osmo RAW & Osmo+
* Osmo Mobile
* Lightbridge 2 with A2
* Lightbridge 2 with standalone A3 or N3
* Focus
* N1 Video Encoder

* Zenmuse X3, X5, X5R, Z3, Z30, X4S, X5S


* Phantom 4 Pro Camera
* Mavic Pro Camera
Cameras
* Phantom 4 Camera
* Phantom 3 Cameras
* Zenmuse XT

Supported Firmware
Inspire 2: 1.0.0240
Phantom 4 Pro: 1.3.418
Z30: 1.0.0.20
N3: 1.7.0.0
Mavic Pro: 1.3.5
Matrice 600 Pro: 1.0.0.80
Matrice 600, RTK and Ronin MX: 1.0.0.80
Phantom 4: 1.2.602
Zenmuse XT: 1.24.0.10
Zenmuse Z3: 1.10.1.40
Inspire 1: 1.10.1.40
Inspire 1 Pro (X5 camera): 1.10.1.40
Inspire 1 RAW (X5R camera): 1.10.1.40
Osmo: 1.8.2.40
Osmo Pro (X5 camera): 1.3.0.40
Osmo RAW (X5R camera): 1.3.0.40
Osmo+: 1.4.0.70
Osmo Mobile: 1.5.0.70
Phantom 3 Professional & Advanced: 1.10.90
Phantom 3 Standard: 1.8.10
Phantom 3 4K: 1.5.40
Matrice 100: 1.3.1.0
Lightbridge 2: 1.1.50
A3: 1.7.0.0

Known Issues
Firmware issue: Unpredictable behavior when using virtual stick mode, with Mavic Pro, Phantom 4
Pro and Inspire 2.
Firmware issue: Yaw action in any mission with affected products is impacted by the virtual stick
firmware bug. Avoid yaw actions.
Firmware issue: Sometimes video cannot be recorded directly after taking a photo at a waypoint in a
Waypoint Mission.
Website Documentation: The website documentation and tutorials are not yet updated for SDK 4.0
interfaces and concepts. The website will be updated in the coming weeks.
API Documentation search doesn't work for SDK Keys: When you search the API documentation,
SDK keys are not yet included in the search results. This will be updated soon.

© 2017 DJI. All Rights Reserved.


Android Mobile SDK 3.5.1 Release Notes

Release Date
2016.12.15

Bug Fixes
Actions in Waypoint are not being executed. In 3.5, aircraft will not execute the actions when
reaching the waypoint. This bug is fixed in 3.5.1.

© 2016 DJI. All Rights Reserved.


Android Mobile SDK 3.5 Release Notes

Release Date
2016.12.13

Highlights
Mobile SDK 3.5 is now available on our developer website. More information can be obtained from the
Github page.

New product support: DJI's latest products, Phantom 4 Pro and Inspire 2, are supported in Mobile
SDK 3.5. Support has also been added for Zenmuse Z30, N3 and Matrice 600 Pro.

Other Changes
New features of Osmo Mobile: an interface to control LED of the handheld controller and an interface
to disable the gimbal control by the stick are added in 3.5. More states of the handheld controller are
returned in 3.5.
New features of Waypoint Mission: with SDK 3.5 and flight controller firmware 3.2.10.0 or above the
flight speed for each waypoint in a mission can be set. Additionally, the camera can be configured to
automatically take shots at either a fixed time or distance interval between waypoints.
Interface change:

Phantom 4 Pro and Inspire 2 support changing the Lightbridge frequency band between 2.4 GHz
and 5 GHz. In addition to new interfaces to support this, several existing interfaces needed to be
updated:
ChannelRSSI is replaced by ChannelInterference in DJIAirLink .
DJIALUpdateAllChannelSignalStrengthsCallback in DJILBAirLink is
replaced by DJIALUpdateAllChannelInterferenceCallback .
setDJILBAirLinkUpdatedAllChannelSignalStrengthsCallback is replaced by
setDJILBAirLinkUpdatedAllChannelSignalStrengthsCallback .

Inspire 2 allows recording of video to SSD that is not only RAW format. Therefore,
setSSDRawVideoResolutionandFrameRate is renamed as
setSSDVideoResolutionandFrameRate .
getSSDRawVideoResolutionAndFrameRate is renamed as
getSSDVideoResolutionAndFrameRate .
Values of CameraVideoFrameRate are renamed. The suffix fps is changed to FPS and
more accurate representations of the frame rate are used. FrameRate_24fps is renamed to
FrameRate_23dot976FPS . FrameRate_30fps is renamed to
FrameRate_29dot970FPS . FrameRate_48fps is renamed to
FrameRate_47dot950FPS . FrameRate_60fps is renamed to
FrameRate_59dot940FPS . A new enum value FrameRate_24FPS is added which
represents the precise 24.0 FPS for newer products.
Interfaces related to remote controller's flight mode switch are refactored.
DJIRCHardwareFlightModeSwitch is replaced by enum
DJIRemoteControllerFlightModeSwitchPosition , which will only provide the position
of the switch is in. The meaning of the switch position can be retrieved by
getRemoteControllerFlightModeMapping in DJIFlightController .

Supported Products

* Inspire 2
* Mavic Pro
* Phantom 4 & Phantom 4 Pro
* Matrice 600 & Matrice 600 Pro, RTK and Ronin MX
* Phantom 3 Standard, Advanced, 4K & Professional
* Inspire 1, Inspire 1 Pro & Inspire 1 RAW
Products * Matrice 100 with X3, X5 & X5R
* Osmo, Osmo Pro, Osmo RAW & Osmo+
* Osmo Mobile
* Lightbridge 2 with A2
* Lightbridge 2 with standalone A3 or N3
* Focus
* N1 Video Encoder

* Zenmuse X3, X5, X5R, Z3, Z30, X4S, X5S


* Phantom 4 Pro Camera
* Mavic Pro Camera
Cameras
* Phantom 4 Camera
* Phantom 3 Cameras
* Zenmuse XT

Supported Firmwares
Inspire 2: upcoming
Phantom 4 Pro: 1.1.203
Z30: 1.0.0.6
N3: 1.0.0.8
Mavic Pro: 1.2.7
Matrice 600 Pro: 1.0.0.54
Matrice 600, RTK and Ronin MX: 1.0.0.43
Phantom 4: 1.2.602
Zenmuse XT: 1.22.0.0
Zenmuse Z3: 1.9.1.40
Inspire 1: 1.9.1.30
Inspire 1 Pro (X5 camera): 1.9.1.30
Inspire 1 RAW (X5R camera): 1.9.1.30
Osmo: 1.8.2.40
Osmo Pro (X5 camera): 1.3.0.40
Osmo RAW (X5R camera): 1.3.0.40
Osmo+: 1.3.0.50
Osmo Mobile: 1.3.0.50
Phantom 3 Professional & Advanced: 1.9.60
Phantom 3 Standard: 1.6.80
Phantom 3 4K: 1.5.40
Matrice 100: 1.3.1.0
Lightbridge 2: 1.1.40

- A3: 1.5.0.0

Known Issues
CameraGeneratedNewMediaFileCallback does not work for Inspire 2 and Phantom 4 Pro: This
will be addressed in the future firmware versions.

© 2016 DJI. All Rights Reserved.


Android Mobile SDK 3.4.1 Release Notes

Release Date
2016.11.11

Highlights
Mobile SDK 3.4.1 is now available on our developer website. More information can be obtained from the
Github page.

Supported Products

* Mavic Pro
* Matrice 600, RTK and Ronin MX
* Phantom 4
* Phantom 3 Standard, Advanced, 4K & Professional
* Inspire 1, Inspire 1 Pro & Inspire 1 RAW
* Matrice 100 with X3, X5 & X5R
Products
* Osmo, Osmo Pro, Osmo RAW & Osmo+
* Osmo Mobile
* Lightbridge 2 with A2
* Lightbridge 2 with standalone A3
* Focus
* N1 Video Encoder

* Mavic Pro Camera


* Phantom 4 Camera
Cameras * Phantom 3 Cameras
* Zenmuse X3, X5, X5R, Z3
* Zenmuse XT

Supported Firmwares
Mavic Pro: 1.2.7
Matrice 600, RTK and Ronin MX: 1.0.0.43
Phantom 4: 1.2.503
Zenmuse XT: 1.22.0.0
Zenmuse Z3: 1.9.1.30
Inspire 1: 1.9.1.30
Inspire 1 Pro (X5 camera): 1.9.1.30
Inspire 1 RAW (X5R camera): 1.9.1.30
Osmo: 1.8.2.40
Osmo Pro (X5 camera): 1.3.0.40
Osmo RAW (X5R camera): 1.3.0.40
Osmo+: 1.2.0.40
Osmo Mobile: 1.2.0.40
Phantom 3 Professional & Advanced: 1.9.60
Phantom 3 Standard: 1.6.80
Phantom 3 4K: 1.5.40
Matrice 100: 1.3.1.0
Lightbridge 2: 1.1.40
A3: 1.3.0.0

Interface change
Method set​MediaUpdatedVideoPlaybackStateCallback has been deleted. Instead,
addMediaUpdatedVideoPlaybackStateCallback and
removeMediaUpdatedVideoPlaybackStateCallback are added for listening the update of
MediaUpdatedVideoPlaybackState.

Bug Fixes
A3 + LB2 + X5 is detected as Inspire 1 Pro: In 3.4, a stand alone A3 with LB2 and X5 will be
detected as an Inspire 1 Pro. In 3.4.1, it is corrected.
getBattery() in DJIBaseProduct provides an incorrect instance of the battery object for Mavic
Pro: In 3.4, getBattery() for Mavic Pro returns a different battery instance compared to
getBatteries().get(0) (which is the correct instance). In 3.4.1, this is corrected.
Incorrect callback logic for pauseMission() in Mission Manager. In 3.4,
DJICompletionCallback will not be called and return an error if there is no mission. The logic of
the callback has been corrected in this release.
Incorrect callback logic for stopMissionExecution() in Mission Manager. In 3.4, the
stopMissionExecution() logic is incorrect and will return an inaccurate error in different
scenarios. The logic of the callback has been corrected in this release.
Cannot stop ActiveTrack mission when application restarts after exiting during ActiveTrack
mission: If the application was exited while the ActiveTrack mission is still running, then on restart the
running mission cannot be stopped. It is fixed in 3.4.1.

© 2016 DJI. All Rights Reserved.


Android Mobile SDK 3.4 Release Notes

Release Date
2016.10.28

Highlights
Mobile SDK 3.4 is now available on our developer website. More information can be obtained from the
Github page.

New product support: Mobile SDK 3.4 added support for all features of Mavic Pro, DJI’s latest
product.

Other Changes
New firmware support: Mobile SDK 3.4 added support for Flight Controller Firmware version 3.2.0.0
and above.

Confirmation for landing is required when the clearance between aircraft and the ground is less
than 0.3 meters. isLandingConfirmationNeeded() in
DJIFlightControllerCurrentState is to check if confirmation is required.
confirmLanding(DJICompletionCallback) is to confirm the landing action.
setAutoConfirmLandingEnabled(boolean) is added to DJIGoHomeStep to set
automatic landing confirmation during a custom mission.
The new firmware requires rotating the aircraft during IMU calibration.
New method getDJIIMUMultiOrientationCalibrationHint() in DJIIMUState
provides DJIIMUMultiOrientationCalibrationHint to help calibrate the IMU(s).

Interface changes:

In DJIWifiLink , synchronous method isWiFiFrequencyBandEditable() with return


type boolean has been changed to asynchronous method
isWiFiFrequencyBandEditable( DJICompletionCallbackWith<Boolean>) . The
boolean result will now be returned through the interface of the given callback instead.
Unused enum DJIHandheldWiFiFrequencyType is removed.
Method getAcceleratorStatus() in DJIIMUState is renamed to
getAccelerometerStatus() .
Enum LBAirLinkChannelSelectionMode is renamed to ChannelSelectionMode .
getLegacySerialNumber() has been added to DJIBaseComponent as the serial
number returned by getSerialNumber() has changed in v3.4 (see Bug Fixes).
getLegacySerialNumber() returns the serial number used in Mobile SDK v3.3 and prior,
and will be removed in a future version of the sdk.

Supported Products

* Mavic Pro
* Matrice 600, RTK and Ronin MX
* Phantom 4
* Phantom 3 Standard, Advanced, 4K & Professional
* Inspire 1, Inspire 1 Pro & Inspire 1 RAW
* Matrice 100 with X3, X5 & X5R
Products
* Osmo, Osmo Pro, Osmo RAW & Osmo+
* Osmo Mobile
* Lightbridge 2 with A2
* Lightbridge 2 with standalone A3
* Focus
* N1 Video Encoder

* Mavic Pro Camera


* Phantom 4 Camera
Cameras * Phantom 3 Cameras
* Zenmuse X3, X5, X5R, Z3
* Zenmuse XT

Supported Firmwares
Mavic Pro: 1.2.7
Matrice 600, RTK and Ronin MX: 1.0.0.43
Phantom 4: 1.2.503
Zenmuse XT: 1.22.0.0
Zenmuse Z3: 1.9.1.30
Inspire 1: 1.9.1.30
Inspire 1 Pro (X5 camera): 1.9.1.30
Inspire 1 RAW (X5R camera): 1.9.1.30
Osmo: 1.8.2.40
Osmo Pro (X5 camera): 1.3.0.40
Osmo RAW (X5R camera): 1.3.0.40
Osmo+: 1.2.0.40
Osmo Mobile: 1.2.0.40
Phantom 3 Professional & Advanced: 1.9.60
Phantom 3 Standard: 1.6.80
Phantom 3 4K: 1.5.40
Matrice 100: 1.3.1.0
Lightbridge 2: 1.1.40
A3: 1.3.0.0

Known Issues
Wrong goHomeButton status for Mavic Pro: The buttonDown value of goHomeButton in
DJIRCHardwareState is always FALSE for Mavic Pro.

Workaround: This will be addressed in a future firmware version.

Cannot Enable fly zone in simulator for Mavic Pro: The setter and getter of FlyZoneEnabled in
DJISimulator are not functional for Mavic Pro.

Workaround: This will be addressed in a future firmware version.

Permission granting issue when targetSDKVersion is set to be greater than 23 in gradle:


Beginning in Android 6.0 (API level 23), users grant permissions to apps while the app is running, not
when it is installed. The DJI SDK requires several permissions to be initialized correctly. The DJI
Android SDK Sample shows an example of requesting permissions at run time. Please refer to the
Sample app to ensure a proper lifecycle of DJI SDK.

Bug Fixes
DJIDiagnostics’s lack of some information. Previously, DJIDiagnostics did not have some
information that DJI Go did provide, such as information of firmware upgrading and physical errors.
This has been fixed.
VideoCallback has no data if CodecManager is not initialized: Previously, the video callback will
not be triggered if the codec is not initialized. Now, they can work independently.
GEO feature instability: In the 3.3 release, the GEO system intermittently crashed during the SDK
initialization. This version makes the GEO system more robust.
Serial Number not always unique: In previous versions of the SDK, the component serial number
returned (e.g. Flight Controller) was a partial hash of the actual serial number, and therefore not
always unique. The serial number returned by getSerialNumber() is no longer a hash and
should now always be unique. An additional and deprecated interface
getLegacySerialNumber() has been added for v3.4 that returns the same serial number as
prior versions for compatibility.

© 2016 DJI. All Rights Reserved.


Android Mobile SDK 3.3 Release Notes

Release Date
2016.09.05

Highlights
Mobile SDK 3.3 is now available on our developer website. More information can be obtained from the
Github page.

SDK Logs: SDK Logs collects flight related communication between the application and the SDK.
These logs can be used by developers and DJI to better diagnose flight failures, and determine if a
product warranty claim is valid. This feature should make it easier for users to get service on products
that are controlled with third party applications.

GEO system: DJI Geospatial Environment Online (GEO) provides DJI flyers with up-to-date guidance
on areas where flight may be limited by regulation or raise safety concerns. The GEO system is
accessible in Mobile SDK 3.3. Developers can use DJIFlyZoneManager to query the fly zone
information and unlock some zones.

New product support: DJI's latest product Osmo Mobile is supported in Mobile SDK 3.3. All features
of Osmo Mobile are supported except ActiveTrack. Support has also been added for Zenmuse Z3,
Osmo RAW (X5R Camera) and standalone A3 with Lightbridge 2.

New EULA and Developer Policy: The EULA and Developer Policy are updated for this release.

Other New Features


New firmware support: Support has been added for XT camera's latest firmware including the
advanced radiometry capabilities.
Optical zoom: Besides Zenmuse Z3 camera, optical zoom is also supported by X5/X5R camera when
it is equipped with a zoom lens.
Non-DJI battery detection: When a non-DJI intelligent battery is installed, SDK will prevent aircraft
flight.
Flight controller state: flightTime is added to DJIFlightControllerCurrentState ,
which returns the accumulated flight time.
Refactored internal implementation: The internal SDK implementation of SDK has been completely
refactored to make the SDK more extensible in the future, optimize wireless bandwidth usage and
improve robustness. The external interfaces remain the same except the organization of header files
has changed.
Documentation change:

Several typos of the inline documentation are fixed.


Documentation of resetGimbal in DJIGimbal is refined and is more descriptive.

Interface change:

For component keys, the key suffix is removed. For example, DJIBatteryComponentKey
becomes DJIBatteryComponent .
For gimbalCapability keys, the prefix of the dictionary key's variable name becomes
DJIGimbalParam and the DJIGimbalKey prefix is removed from the string value.
For properties in DJIBatteryWarningInformation , the prefix dischargeDueTo is
removed from the properties.
Method getNumberOfCell in DJIBattery is renamed as getNumberOfCells .
DJICameraExposureParameters becomes a data class. Interface
CameraUpdatedCurrentExposureValuesCallback is renamed to
CameraUpdatedCurrentExposureParametersCallback for consistency.
Values in enum DJILBAirLinkPIPDisplayMode are renamed to adapt to the dual encoding
mode of Lightbridge 2.
Method getAttitudeInDegrees in DJIGimbal is deprecated because it is duplicated
with the property in DJIGimbalState .
The deprecated values in DJICameraDigitalFilter are removed.
Package names have been changed. In the previous version, the package name does not strictly
follow the java standard, now all of them are in lowercase. (e.g. dji.sdk.SDKManager ->
dji.sdk.sdkmanager).
In previous versions, almost all of the data type classes and enum classes, such as
DJIFlightControllerCurrentState , were declared in their component classes (For
DJIFlightControllerCurrentState , it is in the DJIFlightController class). Now
all of them have been moved to the subpackage of dji.common . (e.g.
DJIFlightControllerCurrentState is located in dji.common.flightcontroller
package.).
There are also some interfaces change, please refer to the interfaces_change.xml in the SDK
package.

Supported Products
* Matrice 600, RTK and Ronin MX
* Phantom 4
* Phantom 3 Standard, Advanced, 4K & Professional
* Inspire 1, Inspire 1 Pro & Inspire 1 RAW
* Matrice 100 with X3, X5 & X5R
Products * Osmo, Osmo Pro, Osmo RAW & Osmo+
* Osmo Mobile
* Lightbridge 2 with A2
* Lightbridge 2 with standalone A3
* Focus
* N1 Video Encoder

* Phantom 4 Camera
* Phantom 3 Cameras
Cameras
* Zenmuse X3, X5, X5R, Z3
* Zenmuse XT

Supported Firmwares
Matrice 600, RTK and Ronin MX: 1.0.0.39
Phantom 4: 1.2.503
Zenmuse XT: 1.20.0.0
Zenmuse Z3: 1.9.1.30
Inspire 1: 1.9.1.30
Inspire 1 Pro (X5 camera): 1.9.1.30
Inspire 1 RAW (X5R camera): 1.9.1.30
Osmo: 1.6.2.10
Osmo Pro (X5 camera): 1.3.0.40
Osmo RAW (X5R camera): 1.3.0.40
Osmo+: 1.0.0.20
Osmo Mobile: 1.1.0.30
Phantom 3 Professional & Advanced: 1.9.60
Phantom 3 Standard: 1.6.80
Phantom 3 4K: 1.5.40
Matrice 100: 1.3.1.0
Lightbridge 2: 1.1.40
A3: 1.3.0.0

Known Issues
Diagnostics does not show all the same warning errors as DJI Go does. Diagnostics is missing
the firmware version comparison and pre-fly check status. This issue will be solved in the next version
of the SDK.

Bug Fixes
Aircraft does not immediately RTH in Virtual Stick Mode when the connection is lost: In Virtual
Stick mode, when RTH is enabled as a fail safe for connection loss, the aircraft would wait till the
battery dropped to <15% before returning home. With the latest Phantom 3 and Inspire 1 firmware
release, the aircraft will now return home immediately after the connection is lost.
Osmo returns wrong isSmartBattery value: isSmartBattery of DJIBattery returns
false . It is fixed in 3.3 and now isSmartBattery will return true for Osmo series.
Follow-me mission is not supported by Matrice 600: It is supported in 3.3.
Wrong valid range for fineTuneGimbalRollInDegrees valid range for
fineTuneGimbalRollInDegrees in DJIGimbal now is [-2, 2].
VideoCallback no data if CodecManager is not initialized: The video callback will not be fired if the
codec manager is not initialized. In this version, we decoupled the video streaming feature and video
displaying feature. Now they can work independently.
CustomMission can't be stopped using stopMission: StopMission can not correctly stop a custom
mission and the mission continues the remaining steps even after stopMission is invoked.
Incorrect connection status when aircraft is reconnected: The aircraft connection sometimes is
incorrect in the scenario when the aircraft is reconnected.

© 2016 DJI. All Rights Reserved.


Android Mobile SDK 3.2.1 Release Notes

Release Date
2016.05.16

Highlights
Mobile SDK 3.2.1 is now available on our developer website. More information can be obtained from the
Github page.

New feature
A new way point execution state, pause, is supported in DJIMissionManager .

Supported Products

* Matrice 600, RTK and Ronin MX


* Phantom 4
* Phantom 3 Standard, Advanced, 4K & Professional
* Inspire 1, Inspire 1 Pro & Inspire 1 RAW
Products * Matrice 100 with X3, X5 & X5R
* Osmo & Osmo Pro
* Lightbridge 2 with A2
* Focus
* N1 Video Encoder

* Phantom 4 Camera
* Phantom 3 Cameras
Cameras
* Zenmuse X3, X5, X5R
* Zenmuse XT

Supported Firmwares
Matrice 600, RTK and Ronin MX: 1.0.0.27
Phantom 4: 1.1.301
Zenmuse XT: 1.15.1.60
Inspire 1: 1.8.1.00
Inspire 1 Pro (X5 camera): 1.8.1.00
Inspire 1 RAW (X5R camera): 1.8.1.40
Osmo: 1.6.2.10
Osmo Pro (X5 camera): 1.1.0.10
Phantom 3 Professional & Advanced: 1.8.80
Phantom 3 Standard: 1.6.80
Phantom 3 4K: 1.5.40
Matrice 100: 1.3.1.00
Lightbridge 2: 1.1.10

Bug Fixes
java.lang.UnsatisfiedLinkError: In previous version, the DJI Mobile SDK could not fully support
Android API 23. In this version, we fixed this bug.

Known Issues
Runtime permission gaint. In Android 6.0, media download and playback download require
permissions, such as WRITE_EXTERNAL_STORAGE . Developers should obtain the permission in
runtime.

© 2016 DJI. All Rights Reserved.


Android Mobile SDK 3.2 Release Notes

Release Date
2016.04.25

Highlights
Mobile SDK 3.2 is now available on our developer website. More information can be obtained from the
Github page.

New product support: DJI's latest products Matrice 600, RTK and Ronin MX are supported in Mobile
SDK 3.2. Support has also been added for Osmo Pro (X5 camera) and Matrice 100 with X5 and X5R
cameras.

Other New Features


DJIDiagnostics: SDK 3.2 provides a new class DJIDiagnostics , which can catch and present
detailed issues with the product if they arise (for example, if the IMU calibration is being done while the
aircraft is moving). Solutions for errors are also provided to help users resolve the problems.
Camera: New functions are added to DJICamera .

Setter and getter to enable saving a video caption file which includes product location, time and
camera information.
Setter and getter for digital zoom.
New interfaces to control Osmo's microphone gain and cooling fan state to improve the recording
quality.
A new digital filter CameraDigitalFilter.Portrait for Osmo.

Flight Controller: New functions are added to DJIFlightController .

DJISimulator is added in SDK 3.2 for application testing convenience. Using


DJISimulator , aircraft simulation mode can be turned on through the SDK without needing
to connect to a PC.
Switch to enable Virtual Stick advanced mode. Advanced mode enables wind compensation when
the aircraft is hovering. For Phantom 4, advanced mode enables collision avoidance in virtual
stick mode.
Setter and getter for Failsafe behavior when remote controller and aircraft wireless link is lost.
Setter and getter to turn on/off the LEDs in the front arms of Phantom series.
Gimbal: Interfaces in DJIGimbal are refactored to cater for the diversity of gimbals in all DJI
products.

DJIGimbalConstraints is replaced by gimbalCapability , a map in DJIGimbal .


Gimbal features are defined in DJIGimbalCapabilityKey . The key values can be used to
check if the connected gimbal supports the feature and what its valid range is.
Interfaces related to Osmo's "Joystick" are replaced by "Controller" to better describe all DJI
gimbal's physical controllers with some interfaces being expanded to additional products.
Setter and getter to extend the gimbal's pitch range for the Phantom series of aircraft.
Interface to restore the gimbal settings to factory settings.
Setter and getter for an Osmo physical controller mode that can limit controller response to just
one axis.

Mission Manager: DJIAircraftYawStep is a new type of custom mission step. This can be used
to rotate the aircraft easily with a specific angle and speed during a custom mission.

Supported Products

* Matrice 600, RTK and Ronin MX


* Phantom 4
* Phantom 3 Standard, Advanced, 4K & Professional
* Inspire 1, Inspire 1 Pro & Inspire 1 RAW
Products * Matrice 100 with X3, X5 & X5R
* Osmo & Osmo Pro
* Lightbridge 2 with A2
* Focus
* N1 Video Encoder

* Phantom 4 Camera
* Phantom 3 Cameras
Cameras
* Zenmuse X3, X5, X5R
* Zenmuse XT

Supported Firmwares
Matrice 600, RTK and Ronin MX: The upcoming firmware version
Phantom 4: 1.1.301
Zenmuse XT: 1.14.1.50
Inspire 1: 1.8.1.00
Inspire 1 Pro (X5 camera): 1.8.1.00
Inspire 1 RAW (X5R camera): 1.8.1.20
Osmo: 1.6.2.10
Osmo Pro (X5 camera): The upcoming firmware version
Phantom 3 Professional & Advanced: 1.8.80
Phantom 3 Standard: 1.5.70
Phantom 3 4K: 1.4.30
Matrice 100: 1.2.0.90
Lightbridge 2: 1.1.10

Bug Fixes
Rotate gimbal by angle does not work in Inspire1 with 1.8.1 firmware. In this version, we fixed this
bug.
rotateGimbalBySpeed would cause oscillation. In this version, we fixed this bug.
In 1.8.1 firmware, the getAttitudeInDegrees in DJIGimbal will return null. In this version, we fixed
this bug. Now getAttitudeInDegrees will return correct result.
Conflict among application when using WiFi devices. While using the WiFi device (Phantom 3 4K,
Osmo series and Phantom 3 Standard), SDK based application will keep obtaining the data in the
background even though it gets killed. In this version, we fixed this bug.
Crash when SDK based application is installed in intel x86 processor device. We added the
releative .so files to support this kind of processors.
isVirtualStickModeAvaiable always returns false. In this version, we fixed this bug.
java.lang.UnsatisfiedLinkError: In previous version, the DJI Mobile SDK could not fully support
Android API 23. In this version, we fixed this bug.
rotationGimbalByAngle will keep returning timeout record sometimes. Based on the firmware
adjustment, we deceided to remove the completion callback. The completion callback will be fired once
the aircraft has already received the rotateGimbalByAngle request.
rotateGimbalByAngle counterClockwise does not work while using absolute mode. In this
version, counterClockwise direction should work in absolute mode.

Known Issues
Playback download feature is not supported by M600: downloadSelectedFiles will return
not supported in Matrice 600 with X3, X5 and X5Raw.
Virtual Stick Wind Compensation does not work in flight controller firmware versions
02.04.xx.xx and prior: Wind Compensation is only available for flight controller firmware version
3.01.xx.xx and if VirtualStickAdvancedModeEnabled is enabled.
Waypoint index error if the last waypoint has an action: For Matrice 100 with flight controller
firmware 03.01.xx.xx, the targetWaypointIndex will be 0 if an action is executed in the last
waypoint.

Workaround: Use the total number of the waypoints in the mission and current waypoint index to
detect the wrong targetWaypointIndex .

GeneratedNewMediaFileCallback does not work immediately after SD card formatting: After


formatting the SD card, the callback will not invoke when the first video is recorded. The callback
works properly afterwards.

Workaround: This will be addressed in the future firmware versions.

There will be no video data pushed back from the aircraft if DJICodecManager is not
initialized.

© 2016 DJI. All Rights Reserved.


Android Mobile SDK 3.1 Release Notes

Release Date
2016.03.15

Highlights
Mobile SDK 3.1 is now available on our developer website. More information can be obtained from the
Github page.

New product supported: DJI's latest products Phantom 4, and Zenmuse XT are now available in
Mobile SDK 3.1. All new features of Phantom 4, including TapFly, ActiveTrack, Obstacle Avoidance
and Sport Mode are supported by Mobile SDK 3.1. Support has also been added for the N1 Video
Encoder.

New firmware support: Mobile SDK 3.1 supports the upcoming firmware of Osmo and the latest
firmware of Matrice 100 and Inspire 1 Pro. Mobile SDK 3.1 is also compatible with the current firmware
versions for these products. Refer to Supported Firmwares section below.

Other New Features


Two new missions, DJITapFlyMission and DJIActiveTrackMission , are added for the
Phantom 4. Using these two missions, developers can setup and execute Phantom 4's uinque Active
Track and Tap Fly missions easily.

A new class DJIIntelligentFlightAssistant is added to provide state information about the


Phantom 4's new vision system which allows for obstacle detection and avoidance.

New interfaces for thermal camera settings are added into DJICamera .

A new interface getFileNameWithoutExtension is added into DJIMedia which will help the developers
to easily set up the name of the downloaded file while using fetchMediaData.

Supported Products
* Phantom 4
* Phantom 3 Standard, Advanced, 4K & Professional
* Inspire 1, Inspire 1 Pro & Inspire 1 RAW
* Matrice 100
Products
* Osmo with X3
* Lightbridge 2 with A2
* Focus
* N1 Video Encoder

* Phantom 4 Camera
* Phantom 3 Cameras
Cameras
* Zenmuse X3, X5, X5R
* Zenmuse XT

Supported Firmwares
Phantom 4: 1.0.170 and later
Zenmuse XT: 1.8.0.90
Inspire 1: 1.6.00.40
Inspire 1 Pro (X5 camera): 1.4.0.70
Inspire 1 RAW (X5R camera): 1.8.0.50
Osmo: 1.4.1.80 and the upcoming firmware version
Phantom 3 Professional & Advanced: 1.6.40
Phantom 3 Standard: 1.3.50
Phantom 3 4K: 1.02.10
Matrice 100: 1.2.0.80
Lightbridge 2: 1.0.10

Bug Fixes
GoToStep returns home when in Custom Mission: The implementation of the GoToStep has
been corrected.
setDJICameraGeneratedNewMediaFileCallback returns erroneous file name: Now the callback
will be called only after there is a media file generated in the SDcard. -
setDJILBAirLinkUpdatedLightbridgeModuleSignalInformationCallback returns incorrect
information: Now the callback will return correct information of the Lightbridge module signal.
isWaypointReached keeps returning false: The reached waypoint flag will now provide correct
information.
onProductChanged is not fired immediately when the aircraft reconnects Now the
onProductChanged will be fired once the aircraft reconnects.
GetHomePointAltitude doesn't report the proper value when the Homepoint is not set: Now the
GetHomePointAltitude will return the correct value.
flightController.isConnected() always returns false: Now the isConnected will return the
correct value based on the connectivity status.
The interface of set DJILBAirLinkUpdatedLightbridgeModuleSignalInformationCallback returns
nothing. Now the callback will be fired if SDK receives the signal information of LightBridge .
Improve setHomeLocation: Previously, home point can only be set around the initial take-off location,
current aircraft's location or current remote controller's location. In 3.1, home point can also be set
around the mobile device location. Please ensure the permission
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
has been set in the AndroidManifest.xml .

Known Issues
java.lang.UnsatisfiedLinkError: This issue is related to the Android platform itself. In Android 6.0,
Google fixed the problem where Dalvik was checking access rules incorrectly in previous versions. If
the developers set the targetSDKVersion to 23, they will get java.lang.UnsatisfiedLinkError.

Workaround: Please set the targetSDKVersion to 22.

Incorrect behaviour of MissionExecutionFinishedCallback in DJIMissionManager for Phantom


4: During execution a waypoint mission with Phantom 4, if the remote controller's mode is changed to
S mode or A mode, the callback MissionFinishedCallback will not be called. This will be
addressed in the next Phantom 4 firmware release.

Incorrect DJIGimbalState for Phantom 3 series: isPitchAtStop and isYawAtStop are


always 0 for Phantom 3 series. This will be addressed in the next Phantom 3 firmware release.

© 2016 DJI. All Rights Reserved.


Android Mobile SDK 3.0.1 Release Notes

Release Date
2016.02.04

Highlights
Mobile SDK 3.0.1 is now available on our developer website. More information can be obtained from Github
page.

New product support: The upcoming Zenmuse X5R is supported by Mobile SDK 3.0.1. The X5R
functionality is the same as X5, except for additional interfaces to access SSD state is present.
New firmware support: Mobile SDK 3.0.1 supports the upcoming firmware versions for Osmo and
Matrice 100. Mobile SDK 3.0.1 is also compatible with the current firmware versions for these two
products. Refer to Supported Firmwares section below.

Other New Features


A new callback CameraGeneratedNewMediaFileCallback is added to provide information of a
generated media file, including the name, date created and the file size.
A new class DJIAuxLink is added to provide signal quality of the remote controller to aircraft
control link for aircraft products that use the WiFi video link (Phantom 3 Standard, Phantom 3 4k).
A new method getDisplayName is added to DJICamera class to provide the currently
connected camera string.
A new method getCreatedDate has been added to DJIMedia to access the creation date of the
media. A string of format "YYYY-MM-DD hh:mm:ss" is returned.
A new callback CameraUpdatedCurrentExposureValuesCallback now updates camera
exposure values whenever they are changed. In automatic exposure modes, this gives the aperture,
shutter and ISO values the camera is selecting, while in manual exposure mode, this gives the
exposure compensation required for correct exposure.

Supported Products
* Phantom 3 Standard, Advanced, 4K & Professional
* Inspire 1, Inspire 1 Pro & Inspire 1 RAW
* Matrice 100
Products
* Osmo(With X3)
* Lightbridge 2 with A2
* Focus

* Phantom 3 Cameras
Cameras
* Zenmuse X3, X5, X5R

Supported Firmwares
Inspire 1: 1.6.00.40
Inspire 1 Pro (X5 camera): 1.3.0.60
Inspire 1 Raw (X5R camera): Upcoming
Osmo: 1.4.1.80 and the upcoming version
Phantom 3 Professional & Advanced: 1.6.40
Phantom 3 Standard: 1.3.50
Phantom 3 4K: 1.02.10
Matrice 100: 1.1.0.10 and the upcoming version
Lightbridge 2: 1.0.10

Bug Fixes
Inaccurate Osmo gimbal push data: Calibration and axis stop status were previously inaccurate, and
are now fixed in 3.0.1.
SDK debug logs shown: Debug logs are now removed and will no longer be shown on the console.
Incorrect ultrasonic height: Ultrasonic height data was being pushed with units of decimeter. The
units are now meters.
Null pointer exception in stopConnectionToDJIProduct if no product connected: The
implementation of stopConnectionToDJIProduct has been corrected to fix null pointer
exceptions.
No callback after invoking rotateGimbalByAngle : Callback for rotateGimbalByAngle is
now called.

Interface Changes
Deprecated property isMissionReadyToExecute in Mission Manager. Developers should check
the status based on the result returned by the callback of prepareMission .
Remove base error from every sub error class. Now only the DJIError has the common error.
The product models have been adjusted from Inspire1Pro to Inspire_1_Pro . Every model
now has a method which can provide a UI ready product string.

Known Issues
CameraGeneratedNewMediaFileCallback might return incorrect information in Zenmuse
X5 and X5R: The firmware for Zenmuse X5 and X5R does not fully support this callback in that the
information returned by the methods getId() , getFileName() , getMediatype() ,
getCreatedDate() of DJIMedia might not be accurate.
java.lang.UnsatisfiedLinkError: This issue is related to the Android platform itself. In Android 6.0,
Google fixed the problem where Dalvik was checking access rules incorrectly in previous versions. If
the developers set the targetSDKVersion to 23, they will get java.lang.UnsatisfiedLinkError.

Workaround: Please set the targetSDKVersion to 22.

Phantom 3 Standard video lag: There will be some video lags using the Phantom 3 Standard if the
DJI Go App and third party application are running at the same time.

Workaround: Please ensure there is only one app running during your flight.

Incorrect push data for waypoint mission: When the finishedAction property of the
executing waypoint mission is DJIWaypointMissionFinishedGoFirstWaypoint , the
targetWaypointIndex in DJIWaypointMissionStatus is incorrect.
Aircraft does not immediately RTH in Virtual Stick Mode when connection is lost: When Virtual
Stick Mode is active, and return-to-home (RTH) is enabled (for when the connection breaks), the
aircraft will wait until the battery is <15% before initiating RTH (assuming the connection isn't re-
established before then). This will be addressed in the next Phantom/Inspire firmware release.

© 2015 DJI. All Rights Reserved.


Android Mobile SDK 3.0 Release Notes

Release Date
2016.01.11

Highlights
After listening to feedback from the developers, Mobile SDK 3.0 has been re-architected and refactored
from the ground up for ease of use and increased functionality. More information can be obtained from
Github page.

Simplified Object Model: Mobile SDK 3.0 has halved the number of classes from Mobile SDK 2.4.x
while improving the functionality. It is designed with a scalable object model architecture that supports
current and future DJI products.
Mission Manager and Custom Missions: Mobile SDK 3.0 groups all higher order missions into
MissionManager for easy access. In addition, a new CustomMission feature that allows developers to
combine higher order missions into their own "Custom Mission" with just a few lines of code.
Removed Developer Levels: All developers are now given full access to use flight control commands
which were available only to Level 2 developers in Mobile SDK 2.4.x.
WARNING Limited Backwards Compatibility: Although all the functionality of SDK 2.4.x is
supported in SDK 3.0, due to the refactoring, this version is not drop-in compatible with SDK 2.4.x.

Other New Features


Support for Phantom 3 Standard, Phantom 3 4k, Inspire 1 Pro, Osmo, Lightbridge 2 + A2, Focus.

Supported Products

* Phantom 3 Standard, Advanced, 4K & Professional


* Inspire 1 & Inspire 1 Pro
* Matrice 100
Products
* OSMO
* Lightbridge 2 with A2
* Focus

* Phantom 3 Cameras
Cameras
* Zenmuse X3, X5
Note:

Support for Phantom 2 Vision+ has been removed in Mobile SDK 3.0

Supported Firmwares
Inspire 1: 1.6.00.40
Inspire 1 Pro (X5 camera): 1.3.0.60
Osmo: 1.4.1.80
Phantom 3 Professional & Advanced: 1.6.40
Phantom 3 Standard: 1.3.50
Phantom 3 4K: TBD
Matrice 100: 1.0.0.03
Lightbridge 2: 1.0.10

Known Issues
Issue 1: Incorrect push data from Osmo Gimbal: The instance of Osmo Gimbal will push the flag
for detecting whether gimbal has reached the limitation in three dimensions (pith, roll & yaw) to the
callback. SDK will always return false for isAttitudeReset, isCalibrating, isPitchReachMax,
isYawReachMax and isRollReachMax.

Workaround: User could set up the DJIGimbal.setGimbalStateUpdateCallback() to obtain the


attitude of the gimbal and compare them with the maximum and minimun of these three
dimensions to verify whether the gimbal has reached the limitation.

Issue 2: New battery's SN error: If Users get the latest type of the Inspire 1 battery (TB84) and try to
get its SN, they will get different SN everytime they invoke the getSerialNumber() method in
DJIBattery.
Issue 3: In rare circumstances, gimbal might reset when the aircraft is executing a waypoint
mission: The gimbal will rarely reset, return to center, when the aircraft is executing the waypoint
mission. This might happen when the aircraft executes the move gimbal action in a waypoint.

Workaround: Since it occurs rarely and if it indeed occurs, user could run the waypoint mission
again.

Issue 4: Incorrect result return in setLensFocusTarget: It will always returns failed when users
invoke the method setLensFocusTarget in DJICamera. However, the camera setting will be changed
successfully.

© 2015 DJI. All Rights Reserved.

You might also like