公司開發多個應用的時候是否可以使用同一個簽名(*.jks)


https://www.jianshu.com/p/4d15b667517f

多個應用推薦使用不同簽名,除非一些特殊應用場景

最近兩個應用同時上線,微信分享上遇到了問題
使用了umeng分享

———-問題

現在的問題是
兩個應用(簽名keyOne.jks為同一文件)
應用A(包名com.test.A)+ 簽名(keyOne.jks)—>打包
應用B (包名com.test.B) +簽名(keyOne.jks)—>打包
應用A分享微信成功了、應用B微信分享不成功、
測試應用B在使用與A不同簽名的情況下可以分享成功
想知道:
是一定要使用不同簽名呢,還是,在設置上有什么問題

———-答案

給到的答案是:
應用A(包名com.test.A)+ 簽名(keyOne.jks)—>打包
應用B (包名com.test.B) +簽名(keyOne.jks)—>打包

這個情況下 就是 需要不同的應用ab 有不同的簽名了 不能通用
他們的包名不一樣 你在打包的時候他們的簽名也是不一樣的 那你都用一個 就會有一個因為 簽名不和他自己實際的包名匹配 就造成分享不出去的情況了

———-結論
回頭又想了一想簽名的用意不就是為了區分嘛
但是也有應用場景需要使用相同的簽名

網上找的:android 應用簽名的作用
1.、應用程序升級:如果你希望用戶無縫升級到新的版本,那么你必須用同一個證書進
行簽名。這是由於只有以同一個證書簽名,系統才會允許安裝升級的應用程序。
如果你采用了不同的證書,那么系統會要求你的應用程序采用不同的包名稱,在這種情
況下相當於安裝了一個全新的應用程序。如果想升級應用程序,簽名證書要相同,包名稱要相同!
2.、應用程序模塊化:Android 系統可以允許同一個證書簽名的多個應用程序在一個進
程里運行,系統實際把他們作為一個單個的應用程序,此時就可以把我們的應用程序以模塊
的方式進行部署,而用戶可以獨立的升級其中的一個模塊
3.、代碼或者數據共享:Android 提供了基於簽名的權限機制,那么一個應用程序就可
以為另一個以相同證書簽名的應用程序公開自己的功能。以同一個證書對多個應用程序進行
簽名,利用基於簽名的權限檢查,你就可以在應用程序間以安全的方式共享代碼和數據了。
4.不同的應用程序之間,想共享數據,或者共享代碼,那么要讓他們運行在同一個進程
中,而且要讓他們用相同的證書簽名



作者:皓皓amous
鏈接:https://www.jianshu.com/p/4d15b667517f
來源:簡書
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM