2013-06-01 7 views
9

Sto provando a convertire il mio progetto da Eclipse su Android Studio. Il mio progetto principale è l'utilizzo di Jira Mobile Connect per Android come modulo.Come posso includere stringhe da un altro modulo in Android Studio

Il mio progetto principale AndroidManifest.xml ha un riferimento alle stringhe in un progetto di modulo (progetto Libreria in Eclipse).

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

Ho ricevuto il seguente errore.

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'). 

posso correre "Gradle assemblare" dalla riga di comando senza errori.

Ecco il mio file build.gradle del progetto.

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'] 
     } 
    } 
} 

Ho anche un file di settings.gradle:

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

mio modulo Jira Mobile Connect ha il seguente file 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

Devo dire che posso eseguire il deployment su un emulatore da la riga di comando. Semplicemente non funziona in Studio. – cbeaudin

+0

Ciao cbeaudin, come si risolve questo? – Wayne

+0

Wayne, non l'ho mai fatto. Dovrei provare la risposta qui sotto da Astryk. – cbeaudin

risposta

1

Si sta andando a voler impostare l'altro modulo come tale in Android Studio. A tale scopo, assicurandosi che il sottomodulo abbia un build.gradle, si cita il nome del progetto in settings.gradle del progetto principale e si imposta il sottomodulo come dipendenza nel build.gradle del progetto principale. Con tutto ciò che viene fatto quando il progetto si riunisce (assembleResources per essere esatti) tutti i file strings.xml verranno combinati in una e tutte le stringhe definite nel sottomodulo saranno introdotte.

Problemi correlati