Emerge supports the following upload formats:
|Android App bundle||Android|
|Zipped APK(s) with proguard mappings|
Note: We require one APK (the primary APK if uploading multiple APKs) to be named
|Zipped AAB with optional test APK||Android|
We do not support zipped
.appfiles for iOS uploads. Please provide a zipped
Obtain an API key
On your Emerge profile page click the button to Create a new API Key. Make sure you save the resulting key, as you won't be able to view it again on the Emerge site.
Debugging symbols allow us to symbolicate your app symbols back into human-readable functions and classes, making our analysis easier to understand. To enable this feature, configure the following build setting for your app target and framework targets:
Debug Information Format = DWARF with dSYM File
This will generate
.dSYM files alongside your app binaries in a top-level
dSYMs directory in your XCArchive folder.
Linkmaps are generated during the linking phase when building your app and give us additional context for analyzing your app symbols. If you're building with Xcode, enable linkmap generation by configuring the following build settings:
Write Link Map File = YES Path to Link Map File = $(TARGET_TEMP_DIR)/$(PRODUCT_NAME)-LinkMap-$(CURRENT_VARIANT)-$(CURRENT_ARCH).txt
When uploading your
.xcarchive, check to make sure the linkmaps are included in a top-level
Linkmaps directory. For example:
- MyApp.xcarchive - Info.plist - dSYMs - MyApp.app.dSYM - Products - Applications - MyApp.app - Linkmaps - MyApp-LinkMap.txt
We recommend uploading builds targeting arm64 architectures as this is more representative of what your user will download.
Compiler optimization flags will have a drastic impact on the resulting size and performance of your binary, so we recommend uploading builds with optimizations enabled. See the Swift documentation for Optimization Level and Whole Module Optimization.
Proguard and R8
Tools like Proguard and R8 will obfuscate the final code that makes it into your app binary. For the best results, we recommend including the resulting "mapping file" generated by these tools alongside your app in a zipped upload. This allows us to de-obfuscate your code back into the original human-readable symbols.
R8 also performs many code optimization techniques such as "tree-shaking" which will have a drastic impact on the resulting size and performance of your binary, so we recommend uploading builds with R8 optimizations enabled.
Under the hood
To learn more about how our upload process works, check out our REST API documentation.
Updated 2 months ago