Welcome, Autel Pilots!
Join our free Autel drone community today!
Join Us

Mission Planning File Locations: Android

unklStewy

Member
Joined
Apr 10, 2021
Messages
16
Reaction score
9
Age
44
Good Day:

I know this has been discussed before, but I don't know if anyone has posted the Autel Explorer App's file storage locations. I have been investigating on my Pixel 3XL that I use for development and debugging and made note of a few file locations that might help a developer more talented than I to create some usable code for a desktop mapping package.

My big supposition here is that this information could be used to create a Shareable Mission App for Autel Devices, or a mission translation app between Litchi and Autel by transforming the Litchi Output into JSON and saving the converted mission output to the NewMission folder in the Android Filesystem. I will say this, I am a systems guy, not a developer, but I would be happy to work any Android Developers who want to start a project. My java skills range from eww-who-wrote-this to non-existent. Your help would be appreciated.

The first thing I noted: Autel tries to use a an emulated sdcard entry to store the flight logs on devices without an sdcard slot: I would assume that devices which support an sdcard will have slightly different file paths for the log data.
  1. (EDIT) - Copying Files From One Device to Another
    1. After Further Experimentation, copying the files from /Android/data/com.autel.robotics/files/NewMission to another device will not trigger a shared mission in the UI. I am goin to get a rooted phone and see what I can find under /data/user/0/com.autelrobotics.explorer
  2. Application Logs
    1. /storage/emulated/0/Android/data/com.autelrobotics.explorer/files/autel_log/autel_log.txt
    2. A running record of all of the apps actions and some log data about flight sessions.
  3. Mission Planning Files
    1. /Android/data/com.autelrobotics.explorer/files/NewMission/
      Screen Shot 2021-04-26 at 12.15.26 PM.png
    2. These mission files have a .txt extension, but are formatted in ugly (condensed) JSON. Using a pretty-print JSON filter will make these files much easier to read by a human.
      Screen Shot 2021-04-26 at 12.40.53 PM.png
    3. The mission file parameters, appear to be somewhat self explanatory. Some key:value pairs I am not familiar with, but I would be willing to test them out.
    4. I have generated sample files for each of the missions types except for RECORD Mission .. My sUAS was not flying at the time.. I was just doing some desktop snooping.
    5. The thumbnails used to represent each of the missions in the app are stored:
      /data/user/0/com.autelrobotics.explorer/files/mapscreenshoot/
      1. Thumbnails generated in the app are stored as JPEG files with the following format:
        <MISSIONFILENAME>_<UNIXTIMESTAMPMILLIS>.jpg
        Example: OBL-SAMPLE_MISSION_1619447827856.jpg
        "Oblique Mission Sample File"
    6. The thumbnail files are referenced in the mission text files with the key pair:
      "mapScreenshotPath": "/data/user/0/com.autelrobotics.explorer/files/mapscreenshoot/OBL-SAMPLE_MISSION_1619447827856.jpg"
      My assumption is that since this file is directly referenced by its full name the name of the file would not be critical for imported/shared missions.
      Additional Assumptions: The jpeg file format isn't particularly required, as it appears to be using a standard image rendering library native to Android.
      (Further Testing Required). Best to stick to jpeg until confirmed.
    7. No Screenshot as this is not in the user shared view for the file system. It can be read from and written to in adbshell, but it is not enumerated in Android File Transfer.
  4. Mission Logs
    1. /Android/data/com.autelrobotics.explorer/files/autel_log/local_log_<#>
    2. Contains Reported Telemetry from the aircraft and is recorded as an event sequence log (Timestamped).
  5. No-Fly Zone Data Map for EVO & Dragon Fish
    1. /Android/data/com.autelrobotics.explorer/files/zone/<region file>
      On my system (United States), the No-Fly File is: US
    2. This is a binary file and when viewed with a hex reader like HexFiend for MacOS .. it contains a file header with the descriptor text string of:
      "ZF-NâÞ25pDfçª8¤US@Autel RoboticsThe no-fly zone for EVO & Dragonfish"
      To Me this indicates the file is encoded in "Simplified Chinese"..
    3. It would be interesting to see the decoded values of this file.
  6. Firmware Local Storage: (Expansion Area)
    1. /Android/data/com.autelrobotics.explorer/files/updates
    2. Empty on my test phone, I can check my flight tablet to see what gets stored here. My guess is the .bin file gets extracted to the android file system. perhaps a squashfs or perhaps a raw disk image. Further testing required.
  7. Misc. Files
    1. /Android/data/com.autelrobotics.explorer/files/videoCover.mp4
      1. The Autel Video from the Title Splash Screen
    2. /Android/data/com.autelrobotics.explorer/files/VideoCoverThumb2.jpg
      1. A thumbnail of the cover video, not sure where this get's used in the app.. probably some icon creation holdover.
My Best Regards,
-unklStewy
 
Last edited:
  1. misc. Files
    1. /Android/data/com.autelrobotics.explorer/files/videoCover.mp4
      1. The Autel Video from the Title Splash Screen
    2. /Android/data/com.autelrobotics.explorer/files/VideoCoverThumb2.jpg
      1. A thumbnail of the cover video, not sure where this get's used in the app.. probably some icon creation holdover.
My Best Regards,
-unklStewy

The thumbnail jpg is just a substitute for the blank screen until the video begins. I have managed to replace the video itself with a video of a family event. The original file is 17 MB and can be replaced with any MP4 of the same or a little larger size (I have as yet not determined what size is ok to use, but mine is 19mb) Must have the same name as the original videoCover.mp4. Clearly an improvement over watching a whale shark and it has audio. The video is 1080 x 720 and my substitute is 640 x 360 and it displays fine with audio!

I look forward to your efforts. A few of us have tried to copy missions, but failed to do so. I was able to import a .kml file from google earth, but it's limited as there is not enough data. I just got waypoints. I don't have Litchi to create an KML that would have complete data. I suggest you try that. I put the KML in the data folder "new missions" and they did import and became thumbnails which you could edit. That might be a way to copy files from one device to another.

Threads which some of us have been trying this:
 
Last edited:
The thumbnail jpg is just a substitute for the blank screen until the video begins. I have managed to replace the video itself with a video of a family event. The original file is 17 MB and can be replaced with any MP4 of the same or a little larger size (I have as yet not determined what size is ok to use, but mine is 19mb) Must have the same name as the original videoCover.mp4. Clearly an improvement over watching a whale shark and it has audio. The video is 1080 x 720 and my substitute is 640 x 360 and it displays fine with audio!

I look forward to your efforts. A few of us have tried to copy missions, but failed to do so. I was able to import a .kml file from google earth, but it's limited as there is not enough data. I just got waypoints. I don't have Litchi to create an KML that would have complete data. I suggest you try that. I put the KML in the data folder "new missions" and they did import and became thumbnails which you could edit. That might be a way to copy files from one device to another.

Threads which some of us have been trying this:
Have tried the import game, it does import the waypoints, however not the actions or poi. for example, exported a litchi mission as kml, imported into explorer, high 5's around the room as the way points were in the mission. Then low to no 5's as only the waypoint info was there, no actions, no poi and no waypoint reference to a given poi, all of that needs to get added by hand.
 
KLM is useless, because it only knows the coordinates of points and their height. It is only used to display the virtual route in Google Earth. Very useful despite everything to check if we will not meet the ground.
The only two files that can be used are the original Litchi file or the CSV which contains all the information, but these files must be read and rewritten in Json format to be able to be used by Explorer. What I did for the Evo 1, like the Evo 2 is not my cup of tea, I did not delve into the subject of the missions of the latter. My mavic 2 pro and the Inspire are not entirely sufficient to do all the POIS-based chained missions.
Can waypoint missions be created on a computer vs a tiny phone screen?
 
KLM is useless, because it only knows the coordinates of points and their height. It is only used to display the virtual route in Google Earth. Very useful despite everything to check if we will not meet the ground.
The only two files that can be used are the original Litchi file or the CSV which contains all the information, but these files must be read
Can waypoint missions be created on a computer vs a tiny phone screen?
Not yet, but there's hope. Can you send me a Litchi File? Thanks. I've written a few scripts to assist me in making old garmin GPX files from new one GPX files so I may try my hand. There is a script out there to convert Litchi CSV to KML. But,I tried to import a KML file into explorer but it would not appear any more I swear I did it before, but apparently the newest version of explorer won't recognize them.

gschulzuio said​

Have tried the import game, it does import the waypoints, however not the actions or poi. for example, exported a litchi mission as kml, imported into explorer, high 5's around the room as the way points were in the mission. Then low to no 5's as only the waypoint info was there, no actions, no poi and no waypoint reference to a given poi, all of that needs to get added by hand.
That would make a good starting point better than having NO WAY to import. Follow this link and send it off in a letter to Autel. I have. Maybe if we asked often enough....

Contact Us

Here is my sample wording:
"I need to share missions with my team. Please implement an export/import capability to the Evo 2 mission planner so that I can distribute any mission that I have created to other members of my team to use on their own devices. Thank you!"
 
  1. Go to flylitchi.com/hub.
  2. Open someone's mission or create your own.
  3. From the menu, choose 'Export to CSV' - you'll have a .csv file.
  4. On the website linked, upload the .CSV file using the form.
  5. You get your .kml file.
  6. Open Google Earth, file->open, load KML and voila.
flylitchi.com/hub
 
  1. Go to flylitchi.com/hub.
  2. Open someone's mission or create your own.
  3. From the menu, choose 'Export to CSV' - you'll have a .csv file.
  4. On the website linked, upload the .CSV file using the form.
  5. You get your .kml file.
  6. Open Google Earth, file->open, load KML and voila.
flylitchi.com/hub
Keep in mind that if you want elevations, you need to enable online elevations in the mission settings within litchi (e.g. via litchi hub). Also you will want to verify your waypoints to see if they are using MSL, or, you can select above ground. Also note that there are two different kml's that can be exported from litchi hub, one is the vml for google earth, the other a regular kml.
 
Good Day:

I know this has been discussed before, but I don't know if anyone has posted the Autel Explorer App's file storage locations. I have been investigating on my Pixel 3XL that I use for development and debugging and made note of a few file locations that might help a developer more talented than I to create some usable code for a desktop mapping package.

My big supposition here is that this information could be used to create a Shareable Mission App for Autel Devices, or a mission translation app between Litchi and Autel by transforming the Litchi Output into JSON and saving the converted mission output to the NewMission folder in the Android Filesystem. I will say this, I am a systems guy, not a developer, but I would be happy to work any Android Developers who want to start a project. My java skills range from eww-who-wrote-this to non-existent. Your help would be appreciated.

The first thing I noted: Autel tries to use a an emulated sdcard entry to store the flight logs on devices without an sdcard slot: I would assume that devices which support an sdcard will have slightly different file paths for the log data.
  1. (EDIT) - Copying Files From One Device to Another
    1. After Further Experimentation, copying the files from /Android/data/com.autel.robotics/files/NewMission to another device will not trigger a shared mission in the UI. I am goin to get a rooted phone and see what I can find under /data/user/0/com.autelrobotics.explorer
  2. Application Logs
    1. /storage/emulated/0/Android/data/com.autelrobotics.explorer/files/autel_log/autel_log.txt
    2. A running record of all of the apps actions and some log data about flight sessions.
  3. Mission Planning Files
    1. /Android/data/com.autelrobotics.explorer/files/NewMission/
      View attachment 10278
    2. These mission files have a .txt extension, but are formatted in ugly (condensed) JSON. Using a pretty-print JSON filter will make these files much easier to read by a human.
      View attachment 10279
    3. The mission file parameters, appear to be somewhat self explanatory. Some key:value pairs I am not familiar with, but I would be willing to test them out.
    4. I have generated sample files for each of the missions types except for RECORD Mission .. My sUAS was not flying at the time.. I was just doing some desktop snooping.
    5. The thumbnails used to represent each of the missions in the app are stored:
      /data/user/0/com.autelrobotics.explorer/files/mapscreenshoot/
      1. Thumbnails generated in the app are stored as JPEG files with the following format:
        <MISSIONFILENAME>_<UNIXTIMESTAMPMILLIS>.jpg
        Example: OBL-SAMPLE_MISSION_1619447827856.jpg
        "Oblique Mission Sample File"
    6. The thumbnail files are referenced in the mission text files with the key pair:
      "mapScreenshotPath": "/data/user/0/com.autelrobotics.explorer/files/mapscreenshoot/OBL-SAMPLE_MISSION_1619447827856.jpg"
      My assumption is that since this file is directly referenced by its full name the name of the file would not be critical for imported/shared missions.
      Additional Assumptions: The jpeg file format isn't particularly required, as it appears to be using a standard image rendering library native to Android.
      (Further Testing Required). Best to stick to jpeg until confirmed.
    7. No Screenshot as this is not in the user shared view for the file system. It can be read from and written to in adbshell, but it is not enumerated in Android File Transfer.
  4. Mission Logs
    1. /Android/data/com.autelrobotics.explorer/files/autel_log/local_log_<#>
    2. Contains Reported Telemetry from the aircraft and is recorded as an event sequence log (Timestamped).
  5. No-Fly Zone Data Map for EVO & Dragon Fish
    1. /Android/data/com.autelrobotics.explorer/files/zone/<region file>
      On my system (United States), the No-Fly File is: US
    2. This is a binary file and when viewed with a hex reader like HexFiend for MacOS .. it contains a file header with the descriptor text string of:
      "ZF-NâÞ25pDfçª8¤US@Autel RoboticsThe no-fly zone for EVO & Dragonfish"
      To Me this indicates the file is encoded in "Simplified Chinese"..
    3. It would be interesting to see the decoded values of this file.
  6. Firmware Local Storage: (Expansion Area)
    1. /Android/data/com.autelrobotics.explorer/files/updates
    2. Empty on my test phone, I can check my flight tablet to see what gets stored here. My guess is the .bin file gets extracted to the android file system. perhaps a squashfs or perhaps a raw disk image. Further testing required.
  7. Misc. Files
    1. /Android/data/com.autelrobotics.explorer/files/videoCover.mp4
      1. The Autel Video from the Title Splash Screen
    2. /Android/data/com.autelrobotics.explorer/files/VideoCoverThumb2.jpg
      1. A thumbnail of the cover video, not sure where this get's used in the app.. probably some icon creation holdover.
My Best Regards,
-unklStewy
Am I correct in assuming that the major practical impediment for you is the inability to move mission files around without rooting the phone? Otherwise, it seems straightforward to copy them about with a file utility.

Nice job documenting this all, BTW. I've looked at the JSON too and have considered developing enhancements with some Python scripting. But without import/export from the Explorer app, sharing is problematic.
 
Am I correct in assuming that the major practical impediment for you is the inability to move mission files around without rooting the phone? Otherwise, it seems straightforward to copy them about with a file utility.

Nice job documenting this all, BTW. I've looked at the JSON too and have considered developing enhancements with some Python scripting. But without import/export from the Explorer app, sharing is problematic.
@autelBill,

Yes, the major impediment is the rooted requirement. However it isn't a matter of copying the files from one location to another. After extracting the APK and looking into the decompiled methods the JSON file is simply a mission template for some data transformation methods in the Java code. The actual mission data is stored in a missions.db SQLite database file. Transforming the JSON should be simple enough, but being able to write to the .db file is problematic without root.

My suggestion would be a user space symbolic link to the database file. But still would require an initial root action to set write attributes on the file.

-Casey
 
@autelBill,

Yes, the major impediment is the rooted requirement. However it isn't a matter of copying the files from one location to another. After extracting the APK and looking into the decompiled methods the JSON file is simply a mission template for some data transformation methods in the Java code. The actual mission data is stored in a missions.db SQLite database file. Transforming the JSON should be simple enough, but being able to write to the .db file is problematic without root.

My suggestion would be a user space symbolic link to the database file. But still would require an initial root action to set write attributes on the file.

-Casey
Yeah, that's the rub. The symlink draws a nice crisp line, but once you have to root the phone, you open a can of worms in terms of deployment and acceptance regardless of how non-intrusive the approach is.

So I infer that the JSON file is merely for show somehow and that the missions.db is the authoritative source for the app. Thus my plan to fiddle with it to customize missions was doomed. Still leaves the open question: what is the intended purpose of the JSON? Does/did Autel intend to export to anyone? Why encode it and write it to the FS in such an external/portable representation otherwise?

BTW, have you looked at the SDK? I've skimmed the docs and pondered it but I have the impression that one could only use it to build an alternative to the Explorer app from the ground up. More ambitious than I'm feeling but I can't shake it from my head...
 
Bill,

Sorry for the delayed response, I was pretty much swamped with real life all week. I have gained access to the SDK and have started poking around it the documentation and the code base. I agree with you, that the SDK is mostly intended for a ground up implementation. Since they don't have a github or any code repo's that I can find there wouldn't seem to be any purpose for extending any of the SDK because there is no where to send a pull request.

That being said, I plan to speak with some of the Android developers at work and see if any of them would want to work on maybe extending the Missions portion of the SDK and with me.. maybe take a look at getting a more open missions standard put in place. This would be a side project for all of us of course, but I really like these UAS platforms and I want better tools gosh-dangit..

-Casey
 
  • Like
Reactions: EarthImage
Bill,

In regards to the JSON file being for show, I am not sure if I would agree entirely. In the decompiled code there are references to the JSON but they are just stubs.. If I were a betting man, I would say this was the devs way of paving the road for missions import and export, but never finished or they are waiting to extend it for some kind of "Enterprise" model support, perhaps the RTK series or Dragonfish. Because surely the hobbyists and Small Commercial pilots wouldn't need it .. *SMH*

-Casey
 
Last edited:
Bill,

In regards to the JSON file being for show, I am not sure if I would agree entirely. In the decompiled code there are references to the JSON but they are just stubs.. If I were a betting man, I would say this was the devs way of paving the road for missions import and export, but never finished or they are waiting to extend it for some kind of "Enterprise" model support, perhaps the RTK series or Dragonfish. Because surely they hobbyists and Small Commercial pilots wouldn't need it .. *SMH*

-Casey
Send an email to [email protected] echoing the need for mission export/move/save/import (beyond a kml that lacks wpt actions). They know about it, they and specifically their prod mgr, devs, engineers need to hear more from us that it is a need vs a want or nice to have.
 
@gshulzuio:

Agreed, and I have already done this .. one of the Quality Engineers indicated that it was not a priority for them. Their APP team is focused on a few things that aren't terribly interesting to me at the moment. I will post their roadmap reply below.

-Casey
Hello Casey

Thanks for your reply.

Based on our current development plan, the priority of oblique mission is not high. And our app team will keep the focus on how to simplify the SDK development and to provide additional features, such as live streaming, AI, 3rd payloads, etc.

We will update the release notes when we release the new SDK versions. Please stay tuned. Thank you.


Weituo Dan
Quality Engineer
 
  • Like
Reactions: gschulzuio
@gshulzuio:

Agreed, and I have already done this .. one of the Quality Engineers indicated that it was not a priority for them. Their APP team is focused on a few things that aren't terribly interesting to me at the moment. I will post their roadmap reply below.

-Casey
Interesting, sounds like the engineer/dev are doing what they want and think are cool, trendy, nice to have, what hear about, watching others vs. listening to their customers/prospects. Also wonder if their pm's are guiding the engineers/devs and roadmap, or, are simply riding on the tail of the dog so to speak. Funny thing about their response, OA (Obstacle Avoidance) is AI/cognitive, granted would be nice if they continue to evolve it. Likewise, with their Livedeck, Autel already steps out in front of their competition, perhaps their engineers/devs dont know or realize that, or, their revenue prevention department has not yet connected the dots.
 
Bill,

Sorry for the delayed response, I was pretty much swamped with real life all week. I have gained access to the SDK and have started poking around it the documentation and the code base. I agree with you, that the SDK is mostly intended for a ground up implementation. Since they don't have a github or any code repo's that I can find there wouldn't seem to be any purpose for extending any of the SDK because there is no where to send a pull request.

That being said, I plan to speak with some of the Android developers at work and see if any of them would want to work on maybe extending the Missions portion of the SDK and with me.. maybe take a look at getting a more open missions standard put in place. This would be a side project for all of us of course, but I really like these UAS platforms and I want better tools gosh-dangit..

-Casey
Just curious, have you guys ever seen or used Dronelink? The Autel platform is not currently supported, but it is on their To-Do list. I have used it with my Mavic Mini and I really like it and it has some great capabilities. It is currently the most requested functionality posted on their product roadmap. Please visit if you get a chance and add requests to support the EVO II! Trello
 
The thumbnail jpg is just a substitute for the blank screen until the video begins. I have managed to replace the video itself with a video of a family event. The original file is 17 MB and can be replaced with any MP4 of the same or a little larger size (I have as yet not determined what size is ok to use, but mine is 19mb) Must have the same name as the original videoCover.mp4. Clearly an improvement over watching a whale shark and it has audio. The video is 1080 x 720 and my substitute is 640 x 360 and it displays fine with audio!

I look forward to your efforts. A few of us have tried to copy missions, but failed to do so. I was able to import a .kml file from google earth, but it's limited as there is not enough data. I just got waypoints. I don't have Litchi to create an KML that would have complete data. I suggest you try that. I put the KML in the data folder "new missions" and they did import and became thumbnails which you could edit. That might be a way to copy files from one device to another.

Threads which some of us have been trying this:
Dronelink can create a complete KMZ file that can be exported and flown in Google Earth. From Google Earth you could then export out the KML file. I tried importing one of these files but it was not successful, as the Explorer App simply exited when I tried to import. Happy to provide someone with one of these KML files to try and import . Maybe you might have better luck with it? This would be great if we could somehow get this to work, as it would make mission planning much easier.
 
Bill,

Sorry for the delayed response, I was pretty much swamped with real life all week. I have gained access to the SDK and have started poking around it the documentation and the code base. I agree with you, that the SDK is mostly intended for a ground up implementation. Since they don't have a github or any code repo's that I can find there wouldn't seem to be any purpose for extending any of the SDK because there is no where to send a pull request.

That being said, I plan to speak with some of the Android developers at work and see if any of them would want to work on maybe extending the Missions portion of the SDK and with me.. maybe take a look at getting a more open missions standard put in place. This would be a side project for all of us of course, but I really like these UAS platforms and I want better tools gosh-dangit..

-Casey
No problem on turnaround. As you can see, I'm similarly distracted. If you manage a get any collaboration rolling please give me/us a heads up. I might be able to make a useful contribution. I dabbled in Android some years ago.
 
  • Like
Reactions: EarthImage

Latest threads

Members online

Forum statistics

Threads
11,229
Messages
102,660
Members
9,818
Latest member
redwingaerials