How can I upgrade my Android Jar Dependencies?

I’m in the middle of making a commercial mobile game with AdMob advertising, under an advancing deadline.

After my desktop crashed and burned, I was forced to transfer the project to my crappy laptop, using Unity Collaborate (which is awesome).

Upon loading the project in Unity, I started to get several popups in Unity titled, ‘Android Jar Dependencies’, asking me whether I should Replace or Keep play-services-ads version 11.0.4 with version 10.2.6.

I have no interest in silencing these pop-ups (to do this, I would open the Android Resolver (Asset Store > Google > Android Resolver > Settings etc). Instead:

I want to update my Android Jar Dependencies to match those on my desktop (now being repaired) - ie. the latest version of the Dependencies.

In order to do this, I had the Android Studio / SDK update itself.

During the update process, my Comodo antivirus virtualised the silent_install_wrapper.bat for Intel Haxm installation and also virtualised the apksigner.jar.

I’ve tried to update the Haxm installation manually, but I don’t know where to begin with the apksigner.jar.

Building the app while keeping the 11.0.4 files gives me this error (some details obscured to protect client & my machine):

CommandInvokationFailure: Failed to sign APK package.
C:\Android\sdk\build-tools\25.0.3\apksigner.bat sign --ks "I:/Unity/****.keystore" --ks-pass stdin  --ks-key-alias "****" --key-pass stdin  "C:\Users\***\Temp/StagingArea/Package.apk"

stderr[
'PWs' is not recognized as an internal or external command,
operable program or batch file.
Failed to load signer "signer #1"
java.io.FileNotFoundException: I:\Unity\****.keystore (The system cannot find the path specified)
	at java.io.FileInputStream.open0(Native Method)
	at java.io.FileInputStream.open(Unknown Source)
	at java.io.FileInputStream.<init>(Unknown Source)
	at java.io.FileInputStream.<init>(Unknown Source)
	at com.android.apksigner.ApkSignerTool$SignerParams.loadKeyStoreFromFile(ApkSignerTool.java:733)
	at com.android.apksigner.ApkSignerTool$SignerParams.loadPrivateKeyAndCertsFromKeyStore(ApkSignerTool.java:636)
	at com.android.apksigner.ApkSignerTool$SignerParams.loadPrivateKeyAndCerts(ApkSignerTool.java:580)
	at com.android.apksigner.ApkSignerTool$SignerParams.access$200(ApkSignerTool.java:534)
	at com.android.apksigner.ApkSignerTool.sign(ApkSignerTool.java:229)
	at com.android.apksigner.ApkSignerTool.main(ApkSignerTool.java:87)
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8
]
stdout[
Keystore password for signer #1: 
]
exit code: 2
UnityEditor.Android.Command.WaitForProgramToRun (UnityEditor.Utils.Program p, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg)
UnityEditor.Android.Command.RunWithStdin (System.Diagnostics.ProcessStartInfo psi, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg, System.String[] input)
UnityEditor.Android.PostProcessor.Tasks.TasksCommon.Exec (System.String command, System.String args, System.String workingdir, System.String errorMsg, System.String[] stdin)
UnityEditor.Android.PostProcessor.Tasks.BuildAPK.SignPackage (UnityEditor.Android.PostProcessor.PostProcessorContext context)
UnityEditor.Android.PostProcessor.Tasks.BuildAPK.Execute (UnityEditor.Android.PostProcessor.PostProcessorContext context)
UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks (UnityEditor.Android.PostProcessor.PostProcessorContext context)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)

Again, I am not looking to suppress the error messages, nor am I looking to revert to 10.2.6 - I wish to update to 11.0.4 so I can build my app with AdMob.

I’m at my wits end here, folks. Can’t find any useful solutions. Can anybody point me in the right direction?

Many thanks in advance,

–Rev

I got the correct answer from Wolfos, on the Unity Forums…

I think the .aar versions are actually
related to the Admob version you’re
using. Maybe try redownloading the
plugin from here.

Downloading and installing the UnityPackage from the link above triggered the Google Resolver in the project, configuring Admob and removing older files. Job done. Hope this is of some use to someone…!