2012-04-10 121 views
2

似乎維護免費/付費應用版本的共識是使用庫,並從每個活動設置一個標誌以從代碼中獲得不同的功能基礎。使用庫來維護免費/付費的應用版本

這有多安全?我堅持認爲一個人可以爲他們的手機打電話,獲得APK,並且這可以被反編譯。即使代碼被混淆了,也不難看出應用程序是帶有標誌的包裝,並且修復了標誌。這可以接受嗎?我意識到總會有解決問題的辦法,但這個看起來很容易。

在Eclipse中沒有一種方法可以使用構建標記來編譯不同版本的代碼,以便完整的代碼不會在免費版本中被髮布出來嗎?

在Android TicTacToe sample code中,Activity啓動另一個Activity。在我的應用程序中,使用單獨的Light和Pro包處理庫,如果我實現此方法,則加載基本視圖,然後加載子視圖,然後從子視圖返回,以顯示空白父視圖。解決方法是擴展庫中的主要活動,而不是擴展到基本活動中的setContentView?

回答

1

我不會建議你只維護一個APK項目。相反,我建議你總共創建三個項目;一個是圖書館本身,一個是免費APK,另一個是付費APK。使用這個計劃,你的「免費APK」項目本身就沒什麼用處;它將有效地成爲圖書館的載體(儘管你可以在適當的情況下添加自己的代碼)。 「付費APK」將提供額外的功能,並告訴圖書館使用它(通過回調,反思,無論對你有意義)。這解決了您對攜帶代碼的擔憂,您不打算在該版本中使用代碼,並且它不需要Eclipse或任何其他構建環境的特殊功能。

+0

我確實有三個APK項目,庫,免費和付費,只是標識了免費/付費之間的功能。您是否有任何在該應用程序中添加其他付費功能並從庫中調用它的示例? – CraPo 2012-04-10 14:41:23

+0

@CraPo我沒有一個例子,但作爲一名Android開發人員,您已經意識到如何提供回調(例如實現OnClickListener所需的)。我的建議是,您的付費應用程序使用回叫初始化庫,只存在於付費APK中,而免費APK無需初始化這些或爲不同功能初始化它們(例如將用戶帶到應用的市場網址)。回調方法與使用反射相比更容易(雖然可能不那麼強大)。您的回撥將取代您的旗幟。 – mah 2012-04-10 15:57:53

相關問題