2016-03-20 4 views
0

数ヶ月前、私はもともとモバイルモジュールだけでプロジェクトを開始しました。今ではウェアラブルデバイス向けにアプリを構成することにも興味があります。つまり、私のファイル(Java、XML、drawablesなど)はすべてモバイルモジュールに入っているので、モバイルとウェアモジュール間で共有したいすべてのファイルを新しく作成した「共通」のファイルに転送する必要がありますモジュール?Androidモバイルモジュールとウェアモジュール間でファイルを共有する

EDIT:これは私の後に起こった...

enter image description here

誰かが携帯電話との磨耗のGradleファイルから次のGradleプロジェクトの同期エラーが何を意味するか私に説明できます( ':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

ファイルが両方のモジュール(モバイルとウェア)で使用されている場合は、明らかに、これら2つのモジュールですべての必要なファイルを置く共有モジュールを使用するようにしてください。各モジュールで

compile project(': common')

+0

オクラホマので、どのような種類のファイルの私はGradleファイルのほかに、モバイルや着用モジュールに残すことになっていましたか?なぜなら、私は文字通り、Gradleファイル以外のすべてのファイルをモバイルモジュールから共通モジュールに転送したからです。 – DaveNOTDavid

+1

drawables、スタイル、または 'utils'、' base activity'などのいくつかの共有Javaクラスなどの共通ファイルを転送する必要があります。 このデバイスの特定の実装のみを各モジュールに残してください – Mehdi

+0

recyclerview両方のデバイスでモバイルには2つの列があるリストがあり、1つの列にはリストがあります。 この場合、共有モジュールからデータを取得し、2つの列と1つの列を使用してモバイル上に表示します。 – Mehdi

0

としては、hereを述べ追加:

の1- build.gradle (Module:my-library-module)の最初の行を確認してください、と正しく定義されています

apply plugin: 'com.android.library' 

2 - にライブラリを追加します。 settings.gradleとして:

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

、3- build.gradle (Module:xxx)(モジュール:モバイル)でライブラリをコンパイルして:あなたのプロジェクトで

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

4-、importライブラリとして:

import xxx.xx.xx