2013-09-28 13 views
14

Załóżmy, że mam aplikację Cordova z identyfikatorem com.StackOverflowExample.MyQuestion, którą utworzyłem przy użyciu Cordova 3 przy użyciu interfejsu CLI (cordova create). Dodałem platformy iOS i Android dla mojej aplikacji i przesłałem ją do Apple i Google Play. Teraz jednak po przesłaniu aplikacji do Play wydaje mi się, że błędnie wpisałem hasło do magazynu kluczy, którego używałem do podpisania pliku APK. Próbowałem wszystkiego i nie ma sposobu, bym je odzyskał.Cordova: Czy można mieć różne identyfikatory aplikacji na platformy Android i iOS?

Ponieważ Google Play nie pozwala mi podpisać kolejnego pliku APK przesłanego do Play pod tym samym identyfikatorem aplikacji, co wcześniejszy plik APK podpisany przez inny magazyn kluczy, wiem, że muszę utworzyć nowy identyfikator aplikacji i zacząć od nowa w systemie Android. Rozumiem, że będzie to wymagało od moich użytkowników pobrania nowej aplikacji, ale nie mam innego wyjścia w tym momencie.

Czego chciałbym uniknąć, to przeniesienie tego problemu na Apple, gdzie już utworzyłem wszystkie moje certyfikaty, profile udostępniania, klucze, żądania podpisania itp. I przesłałem IPA z identycznym identyfikatorem pakietu. jako identyfikator aplikacji pierwszego pliku APK przesłanego do Google Play.

Domyślnie, podczas korzystania z interfejsu CLI, Cordova dodaje dowolne określone platformy za pomocą pojedynczego identyfikatora aplikacji, który podajesz pod numerem cordova create.

Co chciałbym wiedzieć: Czy to możliwe, gdy uruchomiony cordova platform add aby dodać nową platformę pod niestandardowego identyfikatora aplikacji i, w rezultacie, aby mieć różne platformy mają różne identyfikatory aplikacji w ta sama aplikacja Cordova?

Odpowiedz

-1

Tak, możesz to zrobić. Jest dla nich więcej opcji, zależy to od tego, jak zbudujesz swoją aplikację na Androida (w jaki sposób tworzymy Twój apk).

Jeśli utworzyć apk użyciu Cordova, najpierw trzeba rozszyfrować swój apk:

apktool d <apkname>.apk <directory to decode> 
e.g: 
apktool d your.apk decodedir 

zmiany pakietu = "com.StackOverflowExample.MyQuestion" ciąg w AndroidManifest.xml.

zakodować apk:

apktool b <directory> <new apk name> 
e.g: 
apktool b testdir/ your.repacked.apk 

Jeśli utworzyć apk Android przy użyciu żadnych narzędzi programistycznych, można zmienić identyfikator w odpowiednim pliku xml (AndroidManifest.xml) i zbudować aplikację.

+1

Morris , czy to działa dla ciebie? Mam dokładnie ten sam problem i szukam zautomatyzowanego sposobu, aby to zrobić ... – Sebastian

+0

Skończyło się na tym, że robiłem nowy identyfikator aplikacji dla systemu iOS i Android, aby rozwiązać problem, ponieważ nie było żadnych odpowiedzi, gdy problem był dla mnie aktualny. –

35

To jest teraz wbudowany w CLI (wreszcie):

W Twoje config.xml Plik-

Przykład:

<widget 
    android-packageName="com.example.android" 
    ios-CFBundleIdentifier="com.example.ios"> 

Źródło:

https://github.com/apache/cordova-lib/blob/master/cordova-common/src/ConfigParser/ConfigParser.js#L99

+2

Repozytorium i sam plik został przeniesiony. Obecny link będzie [Aktualnie ostatnia wersja] (https: // github.com/apache/cordova-lib/blob/64fcf851b5dc15936e3ee1c6f5cac9fc63648aa2/cordova-common/src/ConfigParser/ConfigParser.js # L99-L107) lub [wersja główna - może się zmienić w przyszłości] (https://github.com/apache/ cordova-lib/blob/master/cordova-common/src/ConfigParser/ConfigParser.js # L99-L107) –

Powiązane problemy