我最近開始在Google Android Market上銷售我的Android應用程序,並實施了他們的應用程序授權計劃,以防止未經授權使用我的應用程序。我現在正計劃將其發佈給亞馬遜Android App Store,並且希望知道維護我的應用程序的兩個版本的最佳方式:一個實現Android許可,另一個不支持。如何爲多個Android商店支持我的Android應用程序?
雖然我目前的解決方案有效,但它並不是最優的,我正試圖找出其他人處理此問題的方法。現在,我爲我的應用程序SplashGoogle.java和SplashAmazon.java實現了兩個啓動屏幕。我有兩個對應的Manifest文件,GoogleManifest.xml和AmazonManifest.xml。每個清單都定義了與啓動器意圖不同的閃屏。
當我想要發佈我的應用程序的一個版本時,我將其中一個清單文件重命名爲AndroidManifest.xml,導出應用程序,然後對其他清單執行相同的操作。這是我的解決方案,因爲這是我能想到的最好的方法,並且不知道其他方法可以做到這一點。這是有效的,因爲我的應用程序的亞馬遜和谷歌市場版本之間的唯一區別是相應的飛濺類,一個用於檢查許可,另一個不用。我可能想要實施其他更改(或合併爲只有一個啓動畫面),並且正在尋找一種更持久的方式來管理同一應用程序中的細微變化。
我想像過類似的問題,當開發人員創建精簡版,免費或廣告支持的付費應用程序版本時就會出現這種情況。
其他注意事項:
- 對於使用谷歌的Android授權的版本,我要求在AndroidManifet.xml文件CHECK_LICENSE許可,而在亞馬遜的版本,這是沒有必要的。
我不確定這是否應該被視爲社區wiki,但如果是這樣,請將其標記爲反對結束該問題。我相信這對於很多開發者來說都是有用的。
聽起來不錯!唯一阻礙我實現它的原因是它需要重複的AndroidManifest.xml文件以及其他文件 - 我首先想避免的主要問題。但是,如果我創建免費/付費版本的應用程序,我一定會這樣做,並且要感謝您的解釋。 – finiteloop
有沒有辦法在頂級項目中定義一個類來覆蓋通用代碼中的內容? – finiteloop
我想這樣做是因爲我希望我的庫項目能夠無錯地編譯,但爲每個項目設置了變量 – finiteloop