2016-03-20 81 views
0

幾個月前,我最初只是使用移動模塊開始我的項目,現在我也有興趣爲可穿戴設備配置我的應用程序。也就是說,我的所有文件(Java,XML,drawables等)都在移動模塊中,所以我需要將我想要在移動設備和磨損模塊之間共享的所有文件轉換爲新創建的「通用」模塊?在Android手機和戴爾模塊之間共享文件

編輯

有人可以給我解釋來自移動將在什麼下列搖籃工程同步錯誤和磨損的搖籃文件的意思是:

enter image description here

...這件事發生後,我包括編譯項目(':common')在兩個模塊中如下:

首先,這是我常用的模塊:

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 23 
    buildToolsVersion "23.0.1" 

    defaultConfig { 
     applicationId "dpark.gameoflife" 
     minSdkVersion 9 
     targetSdkVersion 23 
     versionCode 1 
     versionName "1.0" 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
} 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    testCompile 'junit:junit:4.12' 
    compile 'com.android.support:appcompat-v7:23.2.1' 
} 

移動模塊:

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 23 
    buildToolsVersion "23.0.1" 

    defaultConfig { 
     applicationId "dpark.gameoflife" 
     minSdkVersion 9 
     targetSdkVersion 23 
     versionCode 1 
     versionName "1.0" 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
} 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    wearApp project(':wear') 
    compile project(':common') 
    testCompile 'junit:junit:4.12' 
    compile 'com.android.support:appcompat-v7:23.2.1' 
    compile 'com.google.android.gms:play-services:8.4.0' 
} 

最後,我穿模塊:

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 23 
    buildToolsVersion "23.0.1" 

    defaultConfig { 
     applicationId "dpark.gameoflife" 
     minSdkVersion 20 
     targetSdkVersion 23 
     versionCode 1 
     versionName "1.0" 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
} 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    compile 'com.google.android.support:wearable:1.3.0' 
    compile 'com.google.android.gms:play-services-wearable:8.4.0' 
    compile project(':common') 
} 

...如果有什麼事情,我簽署的APK我的公共模塊在發佈模式,但我得到了如上所示相同的錯誤。

回答

1

正確,如果您的文件被兩個模塊(移動和磨損)使用,那麼很顯然,您應該讓這兩個模塊使用共享模塊,並在其中放置所有必需的文件。

每個模塊中

添加compile project(': common')

+0

好了,什麼樣的文件,我是應該離開移動和穿戴模塊,然後除了Gradle文件?因爲,我從字面上將除了Gradle文件之外的所有文件從移動模塊傳輸到公共模塊。 – DaveNOTDavid

+1

你應該轉移常見的文件,如drawables,styles或者一些共享的java類,比如'utils','base activity'或者... 在每個模塊上留下這個設備的具體實現 – Mehdi

+0

假設你正在使用recyclerview在這兩種設備中,移動設備都包含一個帶有兩列的列表,並且列表中只有一列。 在這種情況下,您將從共享模塊中檢索數據,然後將其顯示在具有兩列的移動設備上,並與一列磨損 – Mehdi

0

如前所述here

1-確保第一線在build.gradle (Module:my-library-module),正確地定義爲:

apply plugin: 'com.android.library' 

2-添加到庫settings.gradle as:

include ':app', ':my-library-module' 

3-編譯在build.gradle (Module:xxx)庫(模塊:手機)爲:

dependencies { 
    compile project(":my-library-module") 
} 

4-在你的項目中,import庫爲:

import xxx.xx.xx