2016-12-16 32 views
-1

我的問題可能看起來很奇怪,但我會盡力解釋。讓我們想象一下,有一款Android設備的軟件能夠根據應用程序包名稱調整某些設置 - 這是一種真實的場景。該軟件可能爲列出的應用程序提供更好的性能,並且無法將我的應用程序添加到該列表中。我有能力做的是在列出的軟件包名稱之一下發布我的應用程序(不適用於Google Play,只需在GitHub上提供APK,以便任何想使用它的人都可以手動安裝它)。我的問題出現了: 在我自己的應用程序中使用一些公司的現有軟件包名稱是否合法?它受法律保護嗎?我的應用程序是免費的&開源應用程序。發佈應用程序與某人的包名

要說清楚的是:我並沒有這樣做,以虛假的方式冒充「真實」應用程序。我只希望我的應用程序能夠使用全部設備功能...並且下載頁面將清楚地說明&明顯:):

換句話說:我可以使用軟件包名稱發佈應用程序,例如: com.google.android.talk?我知道它不會覆蓋現有的應用程序,如果有人安裝了它等(這不是我的目標來覆蓋某些應用程序)。我只是在談論這種可能性和合法性。

+1

任何使用「軟件包名稱」作爲可信值的軟件,如果沒有真正檢查軟件包簽名來驗證軟件包是否由預期簽名人簽名,這是非常蹩腳的。 –

+0

它與一些功能有關:例如如果某個應用程序位於該列表中,那麼會出現額外的按鈕...並且存在供應商需要的應用程序:/其他任何可能無法爲供應商提供收入的應用程序都無法使用所有設備可能性...而我只是想允許人們使用它們... – pavel

回答

0

這是完全合法的,因爲您可以爲您的應用/軟件包名稱使用任何字符串。

但是,僅僅這樣做可能不足以「模仿」其他應用程序,因爲這將是一個嚴重的安全漏洞。首先,永遠不會有兩個安裝了相同軟件包名稱的應用程序。

如果您談談由「嚴重」的開發人員創建的應用程序,比如谷歌或原始設備製造商之一,它會檢查應用程序的兩個包和簽名,並會因此知道你的應用程序是不一樣的被替換的應用。

此外,當用戶嘗試安裝您的應用程序時,會發生包衝突,隨後出現簽名衝突。有兩種情況在這裏:

  1. 如果您要更換的應用程序是一個標準的應用程序,用戶將能夠從亞洲開發銀行安裝的應用程序,但只有大公後接受徹底清除原有應用程序的數據。你可能在開發東西時看到了這個對話框。

  2. 如果應用程序由OEM提供並具有系統權限,則安裝將失敗,並且不可能「覆蓋」應用程序。這可以通過將設備植入設備來取代,替換系統目錄中的.apk文件並重新啓動手機。

請介意沒有以上將僅上傳.apk文件到手機上正常工作。這需要從adb完成。手機安裝程序將會失敗。

+0

我測試了它,它工作:)我用自己的密鑰存儲庫簽署了應用程序,並使用ES文件瀏覽器進行安裝。 非常感謝您的回覆。我從應用程序列表中選擇了軟件包名稱,這是我無法在任何地方找到的 - 它可能是由供應商創建的一種可能的解決方法,因此一旦新應用程序被他們發佈,他們就不必發佈軟件更新。 – pavel