Could not verify

Unable to create a new remote session. Please check the server log for more details. Original error: An unknown server-side error occurred while processing the command. Original error: Cannot verify the signature of ‘C:\Users\ayaz raisani\AppData\Roaming\npm\node_modules\appium\node_modules\appium-uiautomator2-server\apks\appium-uiautomator2-server-v4.21.1.apk’. Original error: Could not find ‘apksigner.jar’ in [“C:\Users\ayaz raisani\AppData\Local\Android\Sdk\platform-tools\platform-tools\apksigner.jar”,“C:\Users\ayaz raisani\AppData\Local\Android\Sdk\platform-tools\emulator\apksigner.jar”,“C:\Users\ayaz raisani\AppData\Local\Android\Sdk\platform-tools\cmdline-tools\latest\bin\apksigner.jar”,“C:\Users\ayaz raisani\AppData\Local\Android\Sdk\platform-tools\tools\apksigner.jar”,“C:\Users\ayaz raisani\AppData\Local\Android\Sdk\platform-tools\tools\bin\apksigner.jar”,“C:\Users\ayaz raisani\AppData\Local\Android\Sdk\platform-tools\apksigner.jar”]. Do you have Android Build Tools installed at ‘C:\Users\ayaz raisani\AppData\Local\Android\Sdk\platform-tools’?

what the answer to error?

yes i have android build tools installed already still I’m facing this issue

I am having the same issue in MacOs and will provide more info:

Original Error:

WebDriverException: Message: An unknown server-side error occurred while processing the command. Original error: Cannot verify the signature of '/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-uiautomator2-server/apks/appium-uiautomator2-server-v4.17.4.apk'. Original error: Could not find 'apksigner.jar' in ["/Users/jchavarr/Library/Android/sdk/build-tools/30.0.3/platform-tools/apksigner.jar","/Users/jchavarr/Library/Android/sdk/build-tools/30.0.3/emulator/apksigner.jar","/Users/jchavarr/Library/Android/sdk/build-tools/30.0.3/cmdline-tools/latest/bin/apksigner.jar","/Users/jchavarr/Library/Android/sdk/build-tools/30.0.3/tools/apksigner.jar","/Users/jchavarr/Library/Android/sdk/build-tools/30.0.3/tools/bin/apksigner.jar","/Users/jchavarr/Library/Android/sdk/build-tools/30.0.3/apksigner.jar"]. Do you have Android Build Tools installed at '/Users/jchavarr/Library/Android/sdk/build-tools/30.0.3/'?

My Android_Home is set in the Appium Server as:
"/Users/jchavarr/Library/Android/sdk/build-tools/30.0.3/"

Into that folder I have my android build tools:

    % ls -1 /Users/jchavarr/Library/Android/sdk/build-tools/30.0.3/ 
    NOTICE.txt
    aapt
    aapt2
    aarch64-linux-android-ld
    adb
    aidl
    apksigner
    arm-linux-androideabi-ld
    bcc_compat
    core-lambda-stubs.jar
    d8
    dexdump
    dx
    i686-linux-android-ld
    lib
    lib64
    lld
    lld-bin
    llvm-rs-cc
    log.html
    mainDexClasses
    mainDexClasses.rules
    mainDexClassesNoAapt.rules
    mipsel-linux-android-ld
    output.xml
    package.xml
    renderscript
    report.html
    runtime.properties
    source.properties
    split-select
    x86_64-linux-android-ld
    zipalign

However, the Appium script I have coded in Robot Framework, is looking for apksigner.jar instead of apksigner.

In the command line I am able to access apksigner:

    % apksigner --version
    0.9

The Path configured is:

% echo $PATH
 /Users/jchavarr/.nvm/versions/node/v13.14.0/bin:/Users/jchavarr/.local/share/virtualenvs/amp-android-sdk-Jre74ZsW/bin:/usr/local/opt/openjdk/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/share/dotnet:/usr/local/munki:~/.dotnet/tools:/Library/Apple/usr/bin:/Library/Frameworks/Mono.framework/Versions/Current/Commands:/Users/jchavarr/Library/Android/sdk/build-tools/30.0.3/:/Users/jchavarr/Library/Java/JavaVirtualMachines/openjdk-15.0.2/Contents/Home

I tried to create a symbolic link
apksigner.jar -> apksigner

However it does not work because jar != binary:
Original error: Error: Invalid or corrupt jarfile /Users/jchavarr/Library/Android/sdk/build-tools/30.0.3/apksigner.jar

Appium Version:

App Version: 1.20.2
Electron: 7.2.4
Node.js: 12.8.1

Android Studio Version:
4.1.2

Update:

Potential Workaround to this issue:

  1. Look for apksigner.jar in the build-tools folder:
build-tools % find . -name 'apksigner.jar'
./29.0.2/lib/apksigner.jar
./29.0.3/lib/apksigner.jar
./28.0.3/lib/apksigner.jar
./30.0.3/lib/apksigner.jar
./31.0.0-rc5/lib/apksigner.jar

Create a symbolic link in the corresponding ANDROID_HOME:

30.0.3 % ln -s lib/apksigner.jar apksigner.jar

Hi negrotico19,
could you tell me, where are build-tools? I have android-studio-tools and inside it have
licenses
platforms
platform-tools
tools
And I don’t have the apksigner.jar in any folder. Im working on windows.

Hello @Ivan_Reyes

I don’t have enough experience with Android Studio configuration in Microsoft Windows. However, from your environment, it looks like you haven’t installed the Build Tools, I think it is not installed by default.

Check this https://developer.android.com/about/versions/14/setup-sdk#install-sdk
More Info: https://developer.android.com/tools/releases/build-tools#notes