2016-09-18 53 views
0

我不知道是否有可能實現我要寫的內容,但我會盡可能更好地解釋。帶有封裝項目的Android項目

  1. 與其活動創建一個Android項目,我們可以調用它,例如,ModuleProject

  2. 與其活動創建第二個的Android項目,我們可以調用它,例如,MainProject。在一個活動中,我需要顯示ModuleProject的活動。

我想這樣做是爲了避免安裝兩個disintcts Application。用戶只能安裝「封裝」模塊項目MainProject

要做到這一點,我想:

  1. 與樣本活動(MainActivityModule)創建ModuleProject。模塊名稱爲app1;
  2. 創建一個MainProject在佈局中具有MainActivity和Button。模塊名稱是app;
  3. 從Android Studio,File,New,Import Module中,我選擇了ModuleProject的源代碼;
  4. 從文件,項目結構,我添加了模塊的依賴;
  5. MainProject的活動我試圖創建以下意圖:

    Intent intent = new Intent(this, MainActivityFirst.class); 
    

    但是這是行不通的,因爲我得到下面的搖籃錯誤:

TError:Dependency MainProject:app1:unspecified on project app resolves to an APK archive which is not supported as a compilation dependency. File: C:\MainProkect\app1\build\outputs\apk\app1-release-unsigned.apk

我在stackoverflow上搜索解決方案,有人建議打開模塊的build.gradle文件項目並執行以下編輯:

apply plugin: 'com.android.application' --> apply plugin: 'com.android.library' 

但現在我得到以下錯誤:

Error:Library projects cannot set applicationId. applicationId is set to 'com.aaa.moduleproject' in default config.

有人可以幫我嗎?先謝謝你。

回答

0

從庫的build.gradle文件中刪除applicationId變量。

+0

嗨,謝謝你的回答。 我試過了,我在編譯時沒有錯誤,但是我嘗試運行** MainProject **的模塊,啓動** MainActivityModule **而不是** MainActivityProject **。爲什麼? – helloimyourmind

+0

檢查您的運行編輯配置以查看當您運行時正在啓動的內容。 – Veener

+0

好吧,現在開始正確的活動,但我發現這兩個應用程序都已安裝。這種行爲好嗎? – helloimyourmind