Welcome to the Android developer guides. These documents teach you how to build Android apps using APIs in the Android framework and other libraries. Show If you're brand new to Android and want to jump into code, start with the Build your first Android app tutorial. And check out these other resources to learn Android development:
Otherwise, the following is a small selection of essential developer guides that you should be familiar with. Essential documentationContent and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates. Last updated 2023-06-05 UTC. [{ "type": "thumb-down", "id": "missingTheInformationINeed", "label":"Missing the information I need" },{ "type": "thumb-down", "id": "tooComplicatedTooManySteps", "label":"Too complicated / too many steps" },{ "type": "thumb-down", "id": "outOfDate", "label":"Out of date" },{ "type": "thumb-down", "id": "samplesCodeIssue", "label":"Samples / code issue" },{ "type": "thumb-down", "id": "otherDown", "label":"Other" }] [{ "type": "thumb-up", "id": "easyToUnderstand", "label":"Easy to understand" },{ "type": "thumb-up", "id": "solvedMyProblem", "label":"Solved my problem" },{ "type": "thumb-up", "id": "otherUp", "label":"Other" }] By default, Firebase Crashlytics automatically processes your debug symbol (dSYM) files to give you deobfuscated and human-readable crash reports. You usually configure this behavior during the initial setup of Crashlytics in your app, specifically by that automatically uploads dSYM files during your app's build phase. Unfortunately, there are a few cases that could cause your automatic dSYM files upload to fail. This guide provides some ways to troubleshoot when Crashlytics can't locate your app's dSYM files. Make sure Xcode can automatically process dSYMs and upload the filesWhen setting up Crashlytics in your app, you to automatically process dSYMs and upload the files. Make sure that your configuration for the Crashlytics run script is up-to-date with the new requirements which started with Xcode 15. If your configuration isn't up-to-date, you might be getting the following error:
Specifically, Xcode 15 and later requires that you provide a more complete set of file locations. For your Crashlytics run script (
Check if Xcode is producing dSYMsMore often than not, dSYM files go missing because Xcode simply isn't producing them. When an upload fails, Crashlytics displays a "Missing dSYM" alert in the Firebase console. If you get this alert, first check that Xcode is producing the correct dSYM for every build:
Your crash reports should now appear in the Crashlytics dashboard. If the problem persists or you encounter other errors, try and . Locate your dSYMs on a local machineRun the following command to display all your dSYMs' UUIDs on your machine and search for the missing dSYM: mdfind -name .dSYM | while read -r line; do dwarfdump -u "$line"; done Once you find the dSYM, . If the ${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${PRODUCT_NAME} 2 command doesn't return any results, you can look in the ${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${PRODUCT_NAME} 3 directory where your ${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${PRODUCT_NAME} 4 lives (by default, the ${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${PRODUCT_NAME} 3 directory is located in ${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${PRODUCT_NAME} 6). If your app is released to production, you can also look for its dSYM in the ${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${PRODUCT_NAME} 7 directory on disk:
Upload your dSYMsCrashlytics supports multiple ways to upload your dSYMs files, either or . (Recommended) Automatically process your dSYMs and upload the filesWhen you initially set up Crashlytics, you most likely configured this automatic upload behavior for your app. However, if automatic uploads are failing, . Manually upload your dSYM filesIf automatic uploads are failing, you can manually upload your dSYM files using either of the following options.
Option 2: Use the ${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${PRODUCT_NAME} 9 script that you can call from anywhere in your build process to manually upload your dSYM files. To run the ${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${PRODUCT_NAME} 9 script, use either of the following options:
For usage notes and additional instructions about this script, run ${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${PRODUCT_NAME} 9 with the ${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Info.plist 2 parameter. |