回答
好,三隻小豬有3種類型的構建,但其中大部分沒有工作這麼好。
無論如何,你應該see the docs here。在IDE中構建應用程序時,您會得到一個調試密鑰,這與生產密鑰不同。進行調試構建可以防止您每次都需要輸入憑據,但是當您準備發佈生產版本時顯然需要此提示。
我想這是你在說什麼,但如果你有別的考慮,那麼請詳細說明。
我不確定您是否在詢問調試/生產應用程序或調試/產品框架。所以我會介紹框架。
有兩種不同類型的機器人框架構建(整個系統的圖像)的用戶(又名生產)和userdebug的。
所有標準設備製造商都以「用戶」版本發佈設備。 Userdebug用於開發,通常只用於內部使用。
獲取root權限:
在userdebug構建,你可以簡單地做「亞行根」到你的亞行外殼切換到root模式。另外,您還可以執行「adb remount」將系統分區重新掛載到可寫入模式以進行進一步控制。
在用戶版本,您可以通過安裝特殊的蘇二進制和相應的控制程序(如supersu)獲得root訪問權限。這樣,在adb shell中,可以使用「su」來獲得特權shell。它不像userdebug構建那麼方便。
在AOSP中,您可以通過午餐命令選擇構建類型。例如 午餐aosp_hammerhead-userdebug
VS
午餐aosp_hammerhead用戶
有兩者之間沒有差別的基礎之上。生產版本將與調試版本一樣運行,但有一些有限的例外情況。有限的例外涉及與簽名相關的功能,即它們要求您註冊調試或生產密鑰才能正常工作。這將包括大部分API,例如GoogleMaps或Facebook,以及其他使用您的構建密鑰生成唯一標識符的其他內容(請考慮大多數OAuth2產品)。
你的問題是混亂/模糊的,因爲在現實中有兩個沒有什麼區別的基礎之上。兩者都將運行完全相同的代碼。區別在於誰可以運行它們以及如何運行它們。所有android應用程序在由唯一密鑰構建時都會進行簽名。此密鑰標識應用程序創建者,並且在生產中非常有用,以確保開發人員不會將垃圾惡意軟件發送給Google Play商店(或者至少如果他們是我們知道在哪裏可以找到它們的話)。
建立在調試模式下創建與定位於特定的機器調試密鑰簽名。這意味着如果我以調試模式構建應用程序以安裝到我的手機中,另一位坐在我旁邊的開發人員構建了完全相同的代碼庫以在手機上運行,則我們的兩個應用程序將使用不同的調試密鑰進行簽名。爲什麼這很重要?那麼,回到上面提到的API註冊過程,如果我使用我的調試密鑰(壞主意)創建我們公司範圍的Google Maps API註冊時,坐在我旁邊的朋友在他的機器上以調試模式構建應用程序時,他會遇到錯誤。問題是,訪問Google Maps API取決於是否安裝了使用正確密鑰註冊的應用程序。由於我們的兩個鍵不同,他的應用程序將無法正常加載。
發佈/生產模式允許您簽署應用程序是一個通用鍵,不綁定到特定的機器。這避免了上述問題。通過對所有應用使用一個密鑰,每個應用都可以訪問相同的API,只要您使用生產密鑰進行註冊即可。此生產密鑰不是特定於計算機的。您可以將它發送給您的朋友(請不要),以便他們可以像您一樣簽署應用程序。
就是這樣。你可以在這裏閱讀更多關於building and running apps。如果您有更具體的問題,請澄清。
- 1. 生成庫版本和內部版本
- 2. Java生成xml版本1.1
- 3. Python:struct.unpack的生成器版本
- 4. Shell腳本:生成報告版本
- 5. xamarin.ios mac生成主機版本不兼容本地版本
- 6. 版本的MySQL VS
- 7. 內部版本VS版本號
- 8. 生成排版?
- 9. VS10從調試版本生成發佈版本
- 10. 在一個生成文件中生成多個版本
- 11. Scala ORM生成不兼容的版本生成錯誤
- 12. 生成補丁WIX - 版本3關閉版本1或版本2?
- 13. Oracle EBS R12.2.6 - 報告生成器版本
- 14. 自動生成關於對話版本
- 15. Unity 5.3.1f1 MergeManifest錯誤生成Android版本
- 16. 使用TFS生成版本頭文件
- 17. ebean生成非mysql兼容版本
- 18. 生成Dygraphs的自定義版本
- 19. Keytool生成版本3證書
- 20. 安卓:當我生成簽名版本
- 21. 如何生成Android移動版本?
- 22. MyGet和Cake,生成版本號
- 23. 在MSBuild中生成版本號
- 24. Microsoft Visual Studio 2008版本生成器
- 25. 操作bios版本的生成日期
- 26. JAX-WS生成的模式版本
- 27. Angular CLI生成版本,未知元素
- 28. 獲取在生成後版本的NuGet
- 29. Visual Studio 2015生成簽名版本
- 30. 使用makefile生成版本信息
我在詢問有關AOSP的調試v/s生產版本。 – Jake
像[this](http://stackoverflow.com/questions/13950589/difference-between-eng-and-user-debug-build-in-android)?在您的術語中,您仍然是非常通用的,而且問題是......您可以開發AOSP軟件,它仍適用於我的答案,或者您可能會談論一些與衆不同的東西。 – codeMagic
其實它涉及到另一個問題,我問了'adb root'命令。它需要調試構建,所以我想了解其中的差異。 – Jake