Mac The operation couldn’t be completed. Unable to locate a Java Runtime that supports jarsigner

89.5k Views Asked by At

My purpose is to use jarsigner to sign apk.

I get the following prompt:

% jarsigner     
The operation couldn’t be completed. Unable to locate a Java Runtime that supports jarsigner.
Please visit http://www.java.com for information on installing Java.

my java version hint:

% java -version
java version "1.8.0_321"
Java(TM) SE Runtime Environment (build 1.8.0_321-b07)
Java HotSpot(TM) 64-Bit Server VM (build 25.321-b07, mixed mode)

Mac version is 11.6.3

How can I solve this problem please?

3

There are 3 best solutions below

2
gaohomway On BEST ANSWER

I finally solved it by downloading the JDK

3
Polo On

Mac users, follow the below steps:

  1. brew install openjdk@11
    
  2. For the system Java wrappers to find this JDK, symlink it with:
    sudo ln -sfn $(brew --prefix)/opt/openjdk@11/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-11.jdk
    

Reference: https://formulae.brew.sh/formula/openjdk@11

This approach will also work for other versions.

2
Aleksandr Galko On

You need to check jdk version which installed to our system. This example is for mac os with m1.

Enter in your terminal:

java -version

Output:

openjdk version "1.8.0_372"
OpenJDK Runtime Environment (Zulu 8.70.0.23-CA-macos-aarch64) (build 1.8.0_372-b07)
OpenJDK 64-Bit Server VM (Zulu 8.70.0.23-CA-macos-aarch64) (build 25.372-b07, mixed mode)

Then input the commands:

  1. sudo ln -sfn /opt/homebrew/opt/openjdk/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk.jdk

  2. echo 'export PATH="/opt/homebrew/opt/openjdk/bin:$PATH"' >> ~/.zshrc or ~/.bashrc

  3. export CPPFLAGS="-I/opt/homebrew/opt/openjdk/include"

It worked for me