我在Android Studio中開發了此Android應用程序。一切都很好。
我在Android Studio中添加了一個AppEngine後端模塊。一切仍然很棒。在Android應用程序和Google AppEngine之間共享Android庫
由於我有時需要在我的應用程序和AppEngine後端之間共享對象(主要是簡單的JavaBeans)(認爲搜索函數參數,發送更新的對象等),我決定創建一個共享庫,App和後端都可以導入,所以它們都引用相同的對象並且交互更簡單。
我的一些對象使用Android的特定功能,如Parcelable等不能將從對象中移除。
我在Android Studio中創建了一個簡單的「Android庫」,並將所有對象放置到此文件夾中。 我將所有我的對象設置爲新的「Android庫」,作爲我的Android應用程序的依賴關係,並且在應用程序構建中可以正常工作。
在這一點上,我首先跑到牆上。 我嘗試將「Android庫」設置爲後端的依賴關係,並且事物橫向排列。 當我嘗試構建時,收到後端gradle build無法找到「Android庫」中需要的唯一Android相關依賴項的消息。 (所以不是我在後端需要的依賴,但是需要並且已經存在於「Android庫」中,依賴是「appcompat-v7」。)
所以無論我做什麼,構建都表示它需要這依賴,它不能在既不是jcenter地址或mavenCentral地址找到但「Android的圖書館」建設是很容易檢索和構建依賴
所以我的問題是雙重的: 1.可一個Android庫與AppEngine共享? 2.如果可以,怎麼樣?
但由於通用代碼依賴於Android平臺的一小部分,因此我必須以某種方式「提取」這些部分,這是不可能的。 – Bam
如果是這種情況,我建議重新考慮設計。公共庫不應該依賴於GAE或Android。這不僅僅是設計,當一個「特殊」運行時試圖加載/運行不適合它的代碼時,事情可能真的出錯或根本無法工作。如果必要的話,不要被代碼重複所嚇倒。提取可能的代碼(不依賴於任何環境的代碼)並複製剩下的代碼。如果您需要半重複代碼(如GAE Cloud Endpoints代碼生成),可以查看代碼生成選項。 – Gabriel
我很感謝你的回答和時間。 我的想法和你所建議的一樣,並會按照你的說法去做。只提取可以提取的內容,並將剩下的內容留在Android共享庫中。 – Bam