
Now the build signs the apk like this: C:\Program Files\Android\Jdk\microsoft_dist_openjdk_1.8.0.25\bin\java.exe -jar "C:\Program Files (x86)\Android\android-sdk\build-tools\28.0.3\lib\apksigner.jar" sign -ks "C:\Users\%USERNAME%\AppData\Local\Xamarin\Mono for Android\debug.Note: If you have a finished Android app of your own, you can use it instead of the sample app.įirst, set a new package name for the app. You must be using a relatively new BuildTools version to do this eg: 28.0.3 perhaps this is an experimental feature?) (I haven't found a way to do this in the UI. The Xamarin build can be switched to apksigner, by adding true to the csproj file. Manually signing "C:\Program Files (x86)\Android\android-sdk\build-tools\30.0.2\apksigner.bat" sign -ks "C:\Users\%USERNAME%\AppData\Local\Xamarin\Mono for Android\debug.keystore" -ks-pass "pass:android" $APKNAME$.apk Signing with apksigner, includes the v2 scheme.įor example signing like this, using the same debug.keystore allows the apk to be installed on android 11.

Signing with jarsigner.exe isn't good enough, when Targeting android 11. Users can't install or update apps that are only signed with APK Signature Scheme v1 on devices that run Android 11." "Apps that target Android 11 (API level 30) that are currently only signed using APK Signature Scheme v1 must now also be signed using APK Signature Scheme v2 or higher. I received a little more information when I manually attempting to installing with adb: adb -e install $myapp$.apkįailure I'm targeting Android 11.0 (API Level 30 -R) (with reasonable sized differences), But I still received the ": The package was not properly signed (NO_CERTIFICATES)." error. In case debug.keystore, was somehow out of date, (mine was timestamped ), I removed it and it got regenerated by the build.


This is a debug build, so I'm not explicitly signing it.īut I notice that it's automatically being signed anyway with an androiddebugkey: C:\Program Files\Android\Jdk\microsoft_dist_openjdk_1.8.0.25\bin\jarsigner.exe -keystore "C:\Users\$USERNAME$\AppData\Local\Xamarin\Mono for Android\debug.keystore" -storepass android -keypass android -digestalg SHA-256 -sigalg SHA256withRSA -signedjar bin\Debug\$UNSIGNEDAPKNAME$.apk $PATHTOAPK$.apk androiddebugkey End of stack trace from previous location where exception was thrown -Īt .ThrowForNonSuccess(Task task)Īt .HandleNonSuccessAndDebuggerNotification(Task task)Īt AndroidDeviceExtensions.d_11.MoveNext()Īt .Throw()Īt .ValidateEnd(Task task)Īt _116.MoveNext()Īt _110.MoveNext()Īt _108.MoveNext()

: The package was not properly signed (NO_CERTIFICATES).Īt .CheckInstallSuccess(String output, String packageName)Īt _Displa圜lass97_0.b_0(Task`1 t)Īt `1.InnerInvoke() (I can deploy to Android 10 emulator) ADB0010: Deployment failed
