Search Issue Tracker
By Design
By Design in 2023.1.X
Votes
0
Found in
2020.3.39f1
2021.3.9f1
2022.1.16f1
2022.2.0b7
2023.1.0a9
Issue ID
UUM-15001
Regression
No
Android apk is unsigned when built with Minimum API Level 24 or higher
Reproduction steps:
- Open the attached project "BuildJenkins.zip"
- Go to Player Settings, and under the Publishing Settings add:
- Keystore pass: 123456
- Alias name: user
- Alias pass: 123456
3. Under the Other Settings in Player Settings make sure that the Minimum API Level is set to API level 24 or higher
4. Open Build Settings, select the Android platform, and build
5. Check the built apk, with the following cmd:
- jarsigner -verify -certs TestAndroid.apk
Expected result: Apk is signed
Actual result: Apk is unsigned
Reproducible with: 2020.3.39f1, 2021.3.9f1, 2022.1.16f1, 2022.2.0b7, 2023.1.0a9
Reproduced on: Windows 10 Pro 21H2
Notes:
- Optionally you can use this cmd command to check the apk's signature: keytool -list -printcert -jarfile TestAndroid.apk
- APK not signed if PlayerSettings.Android.minSdkVersion ("Minimum API Level" value in Unity editor's Player Settings) is set to 24 or a higher value
- The same issue is described here: https://forum.unity.com/threads/unity-2020-1-10-does-not-seem-to-sign-the-apk-file.992461/
- Refer to "SignatureEnabler.cs" for possible fix or an overcome
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Out-of-bounds memory access with multiple CanvasRenderers under a Canvas when using Mesh API
- Package signature validation unexpectedly return an invalid signature status if the validation check is done after the code signing certificate validaty range has passed
- Inspector tries to access file after it was deleted when the file was locked in Inspector window
- Changing Transform values in Search window Inspector loses focus while dragging and stopping mouse without releasing dragging action
- Saving changes on the dirty VFX Graph during the Play mode throws "The referenced script (Unknown) on this Behaviour is missing!" warnings
Resolution Note:
apksigner should be used to verify apk signatures instead of jarsigner. jarsigner does not produce APK Signature Scheme v2 signatures introduced in Android 7.0 (Nougat), whereas apksigner does.
`apksigner verify --print-certs app.apk `
https://developer.android.com/studio/command-line/apksigner
Resolution Note (2023.1.X):
apksigner should be used to verify apk signatures instead of jarsigner. jarsigner does not produce APK Signature Scheme v2 signatures introduced in Android 7.0 (Nougat), whereas apksigner does.
`apksigner verify --print-certs app.apk `
https://developer.android.com/studio/command-line/apksigner