Skonfiguruj Eclipse do używania podpisanego keystore

W końcu stworzyłem' ostateczny ' keystore dla mojej aplikacji. Ponieważ moja aplikacja korzysta z Google Maps, biorę muszę zaktualizować wszystkie układy, aby użyć nowego klucza API wynikającego z aplikacji, jak również..

Teraz jestem w pełni świadomy wymogu eksportowania podpisanego pliku APK do wydania, ale co potem? Myślę, że dla dalszego rozwoju i testowania, byłoby najłatwiej, gdybym mógł skonfigurować Eclipse, aby używać mojego ostatniego keystore zamiast debug keystore ... ale nie znalazłem sposobu, aby to zrobić? It only pozwala mi skonfigurować "alternatywny" klucz debugowania, ale myślę, że to nie to samo.

Przepraszam, jeśli jestem zbyt zdezorientowany, jeśli całkowicie coś tu źle zrozumiałem.

Author: richey, 2012-06-04

7 answers

Udało mi się użyć mojego klucza wydania Google Play jako mojego niestandardowego klucza debugowania, aby pomóc w debugowaniu funkcji zakupu w aplikacji. To samo bez wątpienia można również zastosować do debugowania rzeczy Google Maps.

Jak Devunwired wspomniał , istnieją zastrzeżenia. Ale moje rozwiązanie było takie:

  1. skopiuj gdzieś swój klucz zwalniający.
  2. Zmień hasło keystore / hasło klucza i Alias klucza zgodnie z instrukcjami tutaj (również zgodnie z Devunwired zalecenia, aby wyglądało to jak klucz debugowania).
  3. Zmień Preferencje Eclipse > Android > Build > niestandardowe ustawienie keystore na ścieżkę kopii wykonanej w kroku 1.
  4. Zrobione!
 61
Author: pilcrowpipe,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-08-01 07:31:23

Możesz skonfigurować niestandardowy keystore do użycia w kompilacjach debugowania (tych, które pojawiają się po kliknięciu Uruchom...) w Eclipse przechodząc do Preferences - > Android - > Build i wpisując nazwę pliku w opcji "Custom debug keystore".

Jednak, mA zastrzeżenie, że musi przestrzegać tych samych zasad, co tradycyjny keystore debugowania, głównie:

  1. hasło keystore musi być "android"
  2. musi zawierać klucz o nazwie "androiddebugkey"
  3. Ten klucz jest hasło musi być "android"

Dlatego, chociaż możliwe jest podpisywanie aplikacji w debugowaniu tym samym keystore, z którym eksportujesz, wymaga to, aby twój keystore produkcyjny wyglądał jak sklep debugowania, co czyni go mniej bezpiecznym, jeśli ktoś dostał się do pliku (łatwiej byłoby sprawdzić i odgadnąć hasła).

HTH

 70
Author: Devunwired,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-06-04 19:18:57

Aby Eclipse automatycznie podpisywało się dla Ciebie podczas wdrażania, musisz skonfigurować keystore, który zachowuje się jak debug keystore. Oznacza to, że musi być "androiddebugkey", a zarówno hasło klucza, jak i keystore muszą być "android". Dlatego polecam:

  1. zrób kopię swojego keystore, ja skopiowałem swój do pliku o nazwie iap.keystore
  2. Otwórz okno terminal / command z keytool na ścieżce (dla mnie ścieżka jest D:\NVPACK\jdk1.6.0_45\bin\keytool.exe) lub użyć fullpath do keystore w poleceniach poniżej
  3. Zmień hasło do keystore 'a na 'android':
    • keytool -storepasswd -keystore iap.keystore
    • postępuj zgodnie z monitem, aby wprowadzić stare hasło do keystore
    • postępuj zgodnie z monitem, aby wprowadzić android jako nowe hasło
    • wykonaj polecenie prompt, aby potwierdzić android jako hasło
  4. Zmień nazwę klucza na androiddebugkey (zastąp Old_Key_Store_Name bieżącą nazwą klucza w następnym polecenie)
    • keytool -changealias -keystore iap.keystore -alias Old_Key_Store_Name -destalias androiddebugkey
    • postępuj zgodnie z monitem, aby wprowadzić hasło do keystore (które jest teraz andorid)
    • postępuj zgodnie z monitem, aby wprowadzić hasło Old_Key_Store_Name (jest to to, na co wcześniej ustawiono hasło klucza)
  5. Zmień hasło dla swojego androiddebugkey
    • keytool -keypasswd -keystore iap.keystore -alias androiddebugkey
    • postępuj zgodnie z monitem, aby wprowadzić hasło do keystore (które jest teraz andorid)
    • wykonaj polecenie prompt, aby wprowadzić swoje androiddebugkey hasło (to jest to, co wcześniej miałeś swój klucz password set to)
    • postępuj zgodnie z monitem, aby wprowadzić android jako nowe hasło klucza
    • wykonaj polecenie prompt, aby potwierdzić android jako hasło klucza
  6. masz teraz keystore (z kluczem), którego Eclipse może użyć do automatycznego podpisywania builderów.
  7. załaduj Eclipse.
  8. Window - > Preferences - > Android - > Build
  9. Follow 'Custom debug keystore' przejdź do iap.wcześniej utworzony plik keystore
  10. OK

Teraz po uruchomieniu / debugowaniu Twój projekt, użyje klucza, który właśnie ustawiliśmy, aby podpisać Twój projekt. Pozwoli to na działanie takich rzeczy jak IAP.

Uwaga: jest to wygodne, ale oczywiście, jeśli ktoś zdobędzie Twój iap.keystore będą mogli podpisywać rzeczy tak, jak ty, używając "android" jako hasła keystore/key. Mam nadzieję, że jest to oczywiście z kroków wymienionych powyżej, ale po prostu poświęć chwilę, aby docenić, co to oznacza dla Ciebie (lub Twojej firmy). Następnie na tej podstawie zdecydować, czy ryzyko jest akceptowalny, i jeśli trzeba przeprowadzić dodatkowe środki w celu zapewnienia bezpieczeństwa tego pliku.

 4
Author: Steven Craft,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-02-19 10:09:11

Ustawiamy Niestandardowy keystore do użycia w naszych kompilacjach debugowania. Eclipse Go to Preferences - > Android - > Build and ent the file name in the "Custom debug keystore".

Ważne kiedy tworzymy keystore dla Eclipse customs.:

Hasło keystore musi być " android" Musi zawierać klucz o nazwie "androiddebugkey" Hasło tego klucza musi być " android" Dlatego chociaż możliwe jest podpisywanie aplikacji w debugowaniu za pomocą tego samego klucza, za pomocą którego eksportujesz, wymaga to produkcji keystore ma wyglądać jak debug store, co czyni go mniej bezpiecznym, jeśli ktoś dostał się do pliku (łatwiej byłoby sprawdzić i odgadnąć hasła).

Jeśli chcemy zmienić hasło do keystore: $ keytool-storepasswd-keystore my.keystore

Jeśli chcemy zmienić hasło aliasu keystore ' a: $ keytool-keypasswd-keystore my.keystore-alias my_name

Jeśli chcemy zmienić alias keystore: $ keytool-changealias-keystore my.keystore-alias my_name-destalias my_new_name

Vkj Tutaj wpisz opis obrazka

 3
Author: Vinod Joshi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-04-21 07:15:56

Tutaj znajdują się instrukcje konwertujące zwykły keystore do debug keystore: https://stackoverflow.com/a/15754187/917362

 0
Author: Alex R. R.,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 11:45:36

Możesz wprowadzić zarówno debugowanie, jak i wydanie SHA1 dla tego samego klucza Google API za pomocą konsoli programistów Google (console.developers.google.com).

W ten sposób będziesz miał ten sam klucz API dla obu i nie będziesz już musiał go zmieniać w AndroidManifest.xml.

 0
Author: Tiberius,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-06-04 15:17:50

Mamy ten sam problem jakiś czas temu w naszym biurze. Ponieważ potrzebowaliśmy tego dość często, napisaliśmy prosty skrypt, aby ułatwić konwersję kluczy release do debugowania.

Skrypt jest dostępny na https://github.com/IntellexApps/key2debug

Używamy go już od jakiegoś czasu, więc powinien być dość stabilny.

Zdrówko!
 0
Author: Sabo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-02-11 23:39:55