Ik lees een ontwikkelingsgids van Facebook-ontwikkelaars op hier
Er staat dat ik keytool moet gebruiken om de handtekening voor mijn app te exporteren, zoals:
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64
Ik weet niet hoe ik de keytool moet vinden om deze uit te voeren. Ik heb geprobeerd een Windows-opdrachtprompt te openen en de bovenstaande opdracht te plakken, maar het werkte niet.
Antwoord 1, autoriteit 100%
Ik heb zelf een oplossing gevonden, zoals onderstaand citaat. Het werkt prima.
"C:\Program Files\Java\jdk1.6.0_26\bin\keytool.exe" -exportcert -alias
> sociallisting -keystore "D:\keystore\SocialListing" |
> "C:\cygwin\bin\openssl.exe" sha1 -binary | "C:\cygwin\bin\openssl.exe"
> base64
Antwoord 2, autoriteit 59%
Voer deze gewoon in de Windows-opdrachtprompt in.
cd C:\Program Files\Java\jdk1.7.0_09\bin
keytool -exportcert -alias androiddebugkey -keystore "C:\Users\userName\.android\debug.keystore" -list -v
Het basiswachtwoord is android
U krijgt de sleutels MD5
, SHA1
en SHA256
te zien; Kies degene die je nodig hebt.
Antwoord 3, autoriteit 37%
Volg deze stappen om de hashcode van de Android-sleutel te krijgen (voor Facebook-apps)
- Download de openssl voor Windows hier
- unzip nu naar c-schijf
- open cmd-prompt
- typ
cd C:\Program Files\Java\jdk1.6.0_26\bin
- typ dan alleen
keytool -export -alias myAlias -keystore C:\Users\<your user name>\.android\myKeyStore | C:\openssl-0.9.8k_WIN32\bin\openssl sha1 -binary | C:\openssl-0.9.8k_WIN32\bin\openssl enc -a -e
- Gereed
Volg deze stappen om de Certificaat-vingerafdrukcode (MD5) te krijgen
- ga naar – C:\Program Files\Java\jdk1.6.0_26\bin
- voer in de bin-map het bestand
jarsigner.exe
uit - open cmd-prompt
- typ
cd C:\Program Files\Java\jdk1.6.0_26\bin
- typ dan opnieuw cmd
keytool -list -keystore "C:/Documents and Settings/<your user name>/.android/debug.keystore"
- het zal nu om het Keystore-wachtwoord vragen. De standaard is het type “
android
” en voer - Gereed.
. in
Antwoord 4, autoriteit 11%
keytool maakt deel uit van de JDK.
Probeer %{JAVA_HOME}\
toe te voegen aan het exec-statement of c:\{path to jdk}\bin
.
Antwoord 5, autoriteit 6%
De KeyTool maakt deel uit van de JDK. Je vindt het, ervan uitgaande dat je de JDK met standaardinstellingen hebt geïnstalleerd, in $JAVA_HOME/bin
Antwoord 6, autoriteit 6%
Ik vond dit in een ander bericht, dat niet veel stemmen kreeg, maar het was super handig voor mij. Dus zal het hier toevoegen.
Android Studiobrengt een keytool mee.
C:\Program Files\Android\Android Studio\jre\bin
Je kunt zijn bericht hieronder van Richar Heap zien, met een handige referentie. Ik heb dit eerder gezien, maar was het vergeten. https://stackoverflow.com/a/51524526/4446406
Antwoord 7, autoriteit 4%
Robby Pond
‘s Antwoord kan worden gegeneraliseerd om JAVA_HOME
omgevingsvariabele te gebruiken en om ook te compenseren voor alle lege plekken die op het pad kunnen voorkomen (zoals Program Files
):
"%JAVA_HOME%\bin\keytool" -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64
8, Autoriteit 2%
KeyTool is gevestigd in de map JDK BIN ($ Java_Home / Bin). Java_Home is uw JDK-installatiemap.
Om die opdrachtregel te gebruiken, moet u ook $ Java_Home / Bin op uw padomgeving variabele opnemen.
9, Autoriteit 2%
KeyTool is onderdeel van JDK, het moet $ Java_Home / Bin / KeyTool
10, Autoriteit 2%
Keytool maakt deel uit van de Java SDK. Je zou het kunnen vinden in je Java SDK-directory, b.v. C: \ Program Files \ Java \ JDK1.6.0_14 \ BIN
11, Autoriteit 2%
op CMD-venster (moet worden uitgevoerd als beheerder),
cd %JAVA_HOME%
werkt alleen als u uw systeemomgeving variabele Java_Home hebt ingesteld. Om uw systeemvariabele voor uw pad in te stellen, kunt u dit doen
setx %JAVA_HOME% C:\Java\jdk1.8.0_121\
Dan kunt u
typen
cd c:\Java\jdk1.8.0_121\bin
of
cd %JAVA_HOME%\bin
Voer vervolgens alle opdrachten uit die wordt geleverd door Java JDK’s, zoals
keytool -genkey -v -keystore myapp.keystore -alias myapp
U hoeft alleen de vragen te beantwoorden (equivalent aan het typen van de waarden op CMD-lijn) na het raken van ENTER! De sleutel zou worden gegenereerd
12
Afhankelijk van uw versie van Eclipse (ik gebruik Kepler).
Ga naar Windows & GT; Voorkeuren & GT; Android & GT; Bouwen.
U vindt het locatiepad van uw debug-keystore, evenals de SHA1-vingerafdruk (die u gewoon kunt kopiëren en gebruiken)
13
Als u Visual Studio hebt geïnstalleerd met Xamarin / Mobile Development Support, hebt u hier een Java-installatie C:\Program Files\Android\jdk\microsoft_dist_openjdk_{version}\bin\
, zoals het was mijn zaak.
14
KeyTool is in Javac SDK. Dus je moet het vinden in de map die Contajs Javac
15
keytool
wordt geleverd met de JDK. Als u cygwin gebruikt, staat dit waarschijnlijk al op uw pad. Anders zou je in de bin-map van je JDK kunnen rondneuzen.
Je zult waarschijnlijk toch cygwin moeten gebruiken om de shell pipes (|
) te laten werken.
Antwoord 16
Weinig observaties terwijl ik hetzelfde probleem kreeg (Windows).
1. Shell-pijp is belangrijk.
2. Als u OpenSSL of Cygwin gebruikt, moet u deze zeker installeren.
3. keytool wordt geleverd met JDK, dus je moet ernaar verwijzen in de opdracht of je hebt cd naar de JDK/bin-map (waar de exe zich bevindt)
4. De debug-keystore bevindt zich meestal op ~/.android/debug.keystore
5. wachtwoord is “android”, of u het nu toetst of typt wanneer daarom wordt gevraagd.
6. Voor de aliasnaam kunt u het keystore-bestand openen (NIET OPSLAAN, gewoon openen en sluiten) met elke editor en het lezen.
7. HET BELANGRIJKSTE – Er is een verschil in het specificeren van het keystore-pad tussen aanhalingstekens en zonder. Ik heb het werkend gekregen door het keystore-pad tussen de dubbele aanhalingstekens te gebruiken.
Zoals remix090378 zei en volgens de instructie, werkte deze opdracht inderdaad –
cd C:\Program Files\Java\jdk1.7.0_09\bin
keytool -exportcert -alias androiddebugkey -keystore “C:\Users\userName.android\debug.keystore” -list -v
Antwoord 17
In aanvulling op Gareth’s
antwoord hierboven, het onderstaande werkte voor mij
Voer deze gewoon in de Windows-opdrachtprompt in.
Zorg ervoor dat de terminal wordt uitgevoerd als beheerder
-
cd C:\Program Files\Android\Android Studio\jre\bin
-
keytool -list -v -keystore “C:\Users\admin.android\debug.keystore” -alias androiddebugkey -storepass android -keypass android
Lees meer
N:B: Dit moet worden gedaan na de eerste build, omdat de sleutels pas worden gegenereerd na de eerste build
Antwoord 18
In mijn geval had ik al een APK-bestand gegenereerd met het commando ionic cordova build android --prod
en ik moest de SHA-1-vingerafdruk krijgen voor het reeds bestaande APK-bestand. Hier is hoe ik het kreeg door de volgende opdracht uit te voeren in de App-directory:
keytool -list -printcert -jarfile app-debug.apk
Dus ik heb de bovenstaande opdracht in feite uitgevoerd op de volgende app-locatie:
C:\myApp\platforms\android\app\build\outputs\apk\debug>keytool -list -printcert -jarfile app-debug.apk
Hierdoor kreeg ik de SHA1-vingerafdruk als: 7B:6B:AD:...
Ik hoop dat dit iemand helpt!
Antwoord 19
U kunt ook het volgende doen:
- kopieer het bat-bestand hieronder naar een map die al aanwezig is in uw omgevingsvariabele
PATH
- gebruik dan gewoon de opdracht
keytool
in een Windows-shell
De werkelijke locatie van de keytool is gedefinieerd in het bat-bestand. Als de locatie niet klopt, scant het bat-bestand uw systeem om mogelijke locaties in (sub)mappen van ProgramFiles te detecteren.
Vind ook keytool2.bat, een handige sneltoets voor “keytool -v -list -keystore”, die veel wordt gebruikt om snel de inhoud van een jks-bestand te controleren.
keytool.bat :
::
::
:: "keytool alias" script by Céphas
:: easy method : add the known keytool.exe folder to your personal PATH variable (run : C:\Windows\System32\rundll32.exe sysdm.cpl,EditEnvironmentVariables)
:: else, add the folder containing this bat script to your personal path or put this script in any folder already defined in your path
::
:: also see keytool2.bat that automatically adds the following parameters in the keytool command line : -v -list -keystore, for quick display of jks content
::
::
@echo off
set THIS_SCRIPT=%~f0
rem setlocal enableDelayedExpansion : necessary for paths containing special chars
setlocal enableDelayedExpansion
rem set PATH to keytool.exe ; path must include the final \
rem ^ is escape char for paths containing & \ < > ^ |
set PATH_TO=C:\Program Files\Java\jre1.8.0_45\bin\
set PROG_NAME=keytool.exe
rem full_path, with "", to work with paths containing special chars
set FULL_KT_PATH="!PATH_TO!!PROG_NAME!"
rem checks if keytool.exe exists
(dir %FULL_KT_PATH%>nul 2>nul && set KT_FOUND=yes) || set KT_FOUND=no
if %KT_FOUND%==yes (
rem keytool found => launching it with all supplied parameters
rem
rem
%FULL_KT_PATH% %*
rem
rem
) else (
rem keytool not found, trying to find it in %ProgramFiles%
echo.
echo Keytool not found in expected location, scan in progess ...
echo.
cd "%ProgramFiles(x86)%" 2>nul && dir /B /S keytool.exe 2>nul
cd "%ProgramFiles%" 2>nul && dir /B /S keytool.exe 2>nul
echo.
echo *********
echo Path to program keytool.exe not properly defined, or keytool/java missing on this system
echo If any location has been found during above scan, fix variable "PATH_TO" in %THIS_SCRIPT% accordingly
echo *********
echo.
pause
)
keytool2.bat :
::
::
:: "keytool2 alias" script by Céphas
:: easy method : add the known keytool.exe folder to your personal PATH variable (run : C:\Windows\System32\rundll32.exe sysdm.cpl,EditEnvironmentVariables)
:: else, add the folder containing this bat script to your personal path or put this script in any folder already defined in your path
::
:: keytool2 automatically adds the following parameters in the keytool command line : -v -list -keystore
:: thus, to quickly display the full content of a jks file, usage is simply : keytool2 \path\to\your\keystore.jks [-alias your_alias]
::
::
@echo off
set THIS_SCRIPT=%~f0
rem setlocal enableDelayedExpansion : necessary for paths containing special chars
setlocal enableDelayedExpansion
rem set PATH to keytool.exe ; path must include the final \
rem ^ is escape char for paths containing & \ < > ^ |
set PATH_TO=C:\Program Files\Java\jre1.8.0_45\bin\
set PROG_NAME=keytool.exe
rem full_path, with "", to work with paths containing special chars
set FULL_KT_PATH="!PATH_TO!!PROG_NAME!"
rem checks if keytool.exe exists
(dir %FULL_KT_PATH%>nul 2>nul && set KT_FOUND=yes) || set KT_FOUND=no
if %KT_FOUND%==yes (
rem keytool found => launching it with all supplied parameters
rem
rem
%FULL_KT_PATH% -v -list -keystore %*
rem
rem
) else (
rem keytool not found, trying to find it in %ProgramFiles%
echo.
echo Keytool not found in expected location, scan in progess ...
echo.
cd "%ProgramFiles(x86)%" 2>nul && dir /B /S keytool.exe 2>nul
cd "%ProgramFiles%" 2>nul && dir /B /S keytool.exe 2>nul
echo.
echo *********
echo Path to program keytool.exe not properly defined, or keytool/java missing on this system
echo If any location has been found during above scan, fix variable "PATH_TO" in %THIS_SCRIPT% accordingly
echo *********
echo.
pause
)
Antwoord 20
Aangezien u Java en bij voorkeur een JDK op uw systeem hebt geïnstalleerd(antwoord voor Windows omdat u dit in uw vraag hebt vermeld), moet u het hulpprogramma keytool op de bin
map.
Als dat het geval is, kun je vervolgens die bin-map toevoegen aan de PATH
omgevingsvariabelevan je Windows-installatie.
De volgende keer dat u een Windows-shell opent en keytool
typt, kunt u het eigenlijke hulpprogramma uitvoeren.