2013-09-28 61 views
14

Giả sử tôi có ứng dụng Cordova với id là com.StackOverflowExample.MyQuestion, mà tôi đã tạo bằng Cordova 3 bằng CLI (cordova create). Tôi đã thêm nền tảng iOS và Android cho ứng dụng của mình và đã gửi ứng dụng cho Apple và Google Play. Tuy nhiên, bây giờ, sau khi gửi ứng dụng của tôi lên Play, tôi dường như đã đặt sai mật khẩu của mình cho kho khóa mà tôi đã sử dụng để ký tệp APK của mình. Tôi đã thử tất cả mọi thứ, và không có cách nào tôi sẽ phục hồi nó.Cordova: Có thể có ID ứng dụng khác nhau cho nền tảng Android và iOS không?

Vì Google Play không cho phép tôi ký APK tiếp theo được gửi cho Play dưới cùng ID ứng dụng dưới dạng APK trước đó được ký bởi một kho khóa khác, tôi biết mình cần tạo ID ứng dụng mới và bắt đầu lại trong Android. Tôi nhận thấy điều này sẽ yêu cầu người dùng của tôi tải xuống một ứng dụng mới, nhưng tôi không có lựa chọn nào khác vào thời điểm này.

Điều tôi muốn tránh là vấn đề này tràn vào Apple, nơi tôi đã tạo tất cả chứng chỉ, hồ sơ cấp phép, khóa, yêu cầu ký, v.v. và tải lên IPA với mã nhận diện theo cùng một gói là ID ứng dụng của APK đầu tiên tôi gửi tới Google Play.

Theo mặc định, khi sử dụng CLI, Cordova thêm bất kỳ nền tảng nào bạn chỉ định bằng ID ứng dụng duy nhất mà bạn cung cấp khi chạy cordova create.

Những gì tôi muốn biết là: Có thể, khi chạy cordova platform add để thêm một nền tảng mới dưới một tùy chỉnh ID ứng dụng, và, kết quả là, để có nền tảng khác nhau có ID ứng dụng khác nhau trong cùng một ứng dụng Cordova?

Trả lời

-1

Có, bạn có thể làm điều đó. Có nhiều tùy chọn hơn cho họ, tùy thuộc vào cách bạn xây dựng ứng dụng Android của mình (cách bạn tạo gói ứng dụng).

Nếu bạn tạo các gói ứng dụng sử dụng cordova, trước tiên bạn phải giải mã apk của bạn:

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

Thay đổi gói = "com.StackOverflowExample.MyQuestion" chuỗi trong AndroidManifest.xml.

Encode apk của bạn:

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

Nếu bạn tạo các gói ứng dụng sử dụng bất kỳ công cụ phát triển Android, bạn có thể thay đổi id trong file xml thích hợp (AndroidManifest.xml), và xây dựng các ứng dụng.

+1

Morris , công việc này có phù hợp với bạn không? Tôi có chính xác cùng một vấn đề ở đây và tôi đang tìm kiếm một cách tự động để thực hiện việc này ... – Sebastian

+0

Tôi đã kết thúc việc tạo ID ứng dụng mới cho cả iOS và Android để khắc phục sự cố, vì không có bất kỳ phản hồi nào khi vấn đề là hiện tại đối với tôi. –

35

này bây giờ được xây dựng vào CLI (cuối cùng):

Trong bạn config.xml của bạn File-

Ví dụ:

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

Nguồn:

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

+2

Kho lưu trữ và chính tệp đã được di chuyển. Liên kết hiện tại sẽ là [Sửa đổi mới nhất hiện tại] (https: // github.com/apache/cordova-lib/blob/64fcf851b5dc15936e3ee1c6f5cac9fc63648aa2/cordova-common/src/ConfigParser/ConfigParser.js # L99-L107) hoặc [phiên bản chính - có thể thay đổi trong tương lai] (https://github.com/apache/ cordova-lib/blob/master/cordova-common/src/ConfigParser/ConfigParser.js # L99-L107) –

Các vấn đề liên quan