2013-05-21 25 views
7

Próbuję przesłać aplikację do sklepu Google Play. Buduję plik .apk i podpisuję go za pomocą Mavena. Użyłem maven-jarsigner-plugin do podpisania pliku .apk. Używam klucza utworzonego za pomocą kreatora Eclipse do podpisania innej aplikacji na Androida. I zipalign plik APK za pomocą następującego polecenia: zipalign [-f] [-v] infile.apk outfile.apkPrzesłałeś plik APK, który był zalogowany w trybie debugowania. Musisz podpisać plik APK w błędzie trybu wydania.

Kiedy próbuję uplaod aplikację na playstore, pojawia się błąd Przesłany plik APK który został podpisany w trybie debugowania. Musisz podpisać plik APK w trybie zwolnienia. Czy ktoś może mi powiedzieć, jak podpisać apk w trybie wydania? Jestem nowy w Maven (zacząłem go dzisiaj używać). Dzięki

+0

Sprawdź, czy odpowiedź [tutaj] (http://stackoverflow.com/questions/15055961/android-maven-plugin-disable-debug-build-for-apk/15056758#15056758) pomaga. – yorkw

Odpowiedz

2

Nie wiem, jak to zrobić w Maven, ale musisz skompilować swoją aplikację za pomocą magazynu kluczy wydania. Można utworzyć jeden z keytool, który jest dostępny w folderze bin Java:

$ keytool -genkey -v -keystore my-release-key.keystore 
-alias alias_name -keyalg RSA -keysize 2048 -validity 10000 

Tworząc go, należy podać dwa hasła, jedno dla kluczy i jeden dla klucza. Po utworzeniu magazynu kluczy można użyć kreatora Eclipse Export, aby skompilować aplikację w trybie zwolnienia.

celu uzyskania dalszych informacji, proszę zapoznać się http://developer.android.com/tools/publishing/app-signing.html#releasemode

+0

Problem polega na tym, że nie chcę używać Eclipse do kompilowania aplikacji. Próbowałem tego i udało mi się to zrobić bez żadnego problemu. Muszę skompilować go za pomocą Mavena, – Nemin

+0

To jest prawidłowe wyjaśnienie, po prostu użyj tego wygenerowanego magazynu kluczy na maven! – thiagolr

-1

Korzystanie -genkeypair zamiast -genkey rozwiązał problem dla mnie.

Więc: keytool -genkeypair -keystore name.keystore -alias nameapp -keyalg RSA

0

Zawsze tworzenia kluczy z nazwiskiem i pseudonimem zawierającej "uwalnianie", nie "debug". Jeśli masz "Przesłałeś plik APK, który był zalogowany w trybie debugowania, musisz podpisać plik APK w błędzie trybu wydania" jest pewne, że korzystasz z domyślnego magazynu kluczy, którym jest "debug.keystore", a zatem generujesz pakiet APK w trybie debugowania.

Rozwiązanie

  1. generowania nowych kluczy
  2. Podać odniesienie w pliku build.gradle
  3. Zmień gromadzeniu wariant na 'uwolnienie'
  4. Budowanie

powinno to naprawić kwestia.

Powiązane problemy