2013-06-01 18 views
9

Próbuję przekonwertować mój projekt z Eclipse nad Androidem Studio. Moim głównym projektem jest używanie Jira Mobile Connect dla Androida jako modułu.Jak mogę uwzględnić ciągi z innego modułu w Android Studio

Mój główny projekt AndroidManifest.xml zawiera odniesienie do ciągów w projekcie modułu (projekt biblioteki w środowisku Eclipse).

<activity 
    android:name="com.atlassian.jconnect.droid.activity.FeedbackActivity" 
    android:label="@string/jconnect.droid.create_feedback" > 
</activity> 

Otrzymuję następujący błąd.

android-apt-compiler: [MyProject] C:\dev\projects\android\MyProject\AndroidManifest.xml:92: error: Error: No resource found that matches the given name (at 'label' with value '@string/jconnect.droid.create_feedback'). 

mogę uruchomić „Gradle zmontować” z wiersza polecenia bez błędów.

Oto mój plik build.gradle projektu.

buildscript { 
    println 'Running gradle.' 
    repositories { 
     mavenCentral() 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:0.4' 
    } 
} 
apply plugin: 'android' 

dependencies { 
    compile fileTree(dir: 'libs', include: '*.jar') 
    compile project('../jiraconnect-android/jiraconnect-android-main') 
} 

android { 
    compileSdkVersion 17 
    buildToolsVersion "17.0.0" 

    defaultConfig { 
     minSdkVersion 8 
     targetSdkVersion 17 
    } 

    sourceSets { 
     main { 
      manifest.srcFile 'AndroidManifest.xml' 
      java.srcDirs = ['src'] 
      resources.srcDirs = ['src'] 
      aidl.srcDirs = ['src'] 
      renderscript.srcDirs = ['src'] 
      res.srcDirs = ['res'] 
      assets.srcDirs = ['assets'] 
     } 
    } 
} 

Mam też settings.gradle plik:

include ':MyHouse', '../jiraconnect-android/jiraconnect-android-main' 

Mój moduł Jira Mobile Connect ma następujący plik build.gradle:

buildscript { 
    repositories { 
     mavenCentral() 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:0.4' 
    } 
} 
apply plugin: 'android-library' 

dependencies { 
    compile fileTree(dir: 'libs', include: '*.jar') 
} 

android { 
    compileSdkVersion 8 
    buildToolsVersion "17.0.0" 

    sourceSets { 
     main { 
      manifest.srcFile 'AndroidManifest.xml' 
      java.srcDirs = ['src'] 
      resources.srcDirs = ['src'] 
      aidl.srcDirs = ['src'] 
      renderscript.srcDirs = ['src'] 
      res.srcDirs = ['res'] 
      assets.srcDirs = ['assets'] 
     } 
    } 
} 
+0

Muszę powiedzieć, że mogę wdrożyć emulator z wiersz poleceń. To po prostu nie działa w Studio. – cbeaudin

+0

Cześć cbeaudin, jak rozwiązać ten problem? – Wayne

+0

Wayne, nigdy tego nie robiłem. Powinienem spróbować odpowiedzi poniżej Astryk. – cbeaudin

Odpowiedz

1

będziesz chciał ustawić drugi moduł jako taki w Android Studio. Robisz to, upewniając się, że moduł podsufitowy ma build.gradle, wspominasz nazwę projektu w pliku settings.gradle twojego głównego projektu i ustawiasz submoduł jako zależność w build.gradle głównego projektu. Gdy wszystko zostanie zrobione, gdy projekt zostanie złożony (asembleResources będzie dokładnie), wszystkie pliki strings.xml zostaną połączone w jeden i wszystkie ciągi zdefiniowane w module będą wprowadzone.

Powiązane problemy