2017-10-12 47 views
1

Je dois utiliser la ressource d'un autre projet android (gradle) dans le nouveau projet de téléphone Android en utilisant Android Studio Version 3 et Android API 23. Je tente d'importer en utilisant l'option d'importation dans cet IDE, mais ce module projet externe. Dans mon projet doit utiliser le projet share share comme un framework (c'est un module) qui se synchronise par SVN, donc dans ce cas je ne peux pas mettre à jour ce que je change dans mon framework. J'ai besoin des solutions pour utiliser ce module en le liant simplement sans copier dans le projet.Comment importer le module dans le studio android par référent de lien?

Répondre

2

Je pense que vous cherchez une solution pour développer et réutiliser votre bibliothèque Android locale, non? Donc, suivez mes étapes ci-dessous:

- Dans studio android, créez un nouveau projet Android (Fichier> Nouveau> Nouveau projet) et enregistrez dans n'importe quel endroit comme vous aimez.

- Créer un nouveau module (Fichier> Nouveau> Nouveau module> Bibliothèque Android)

Ex: nom du module = MyFirstLocalLibrary, nom du package: com.example.local.library

enter image description here

- Modifier build.gradle fichier qui est dans la racine de votre dossier de bibliothèque, mais au-dessous des autres plugins al prêt présent, ajouter le plugin d'application: 'maven-publish' sous apply plugin: 'com.android.library'. Ce plugin vous permettra de publier dans un dépôt Maven, même local.

apply plugin: 'maven-publish' 

publishing { 
    publications { 
     library(MavenPublication) { 
      // Don't forget to change these 
      groupId 'com.example.local.library' 
      artifactId 'MyFirstLocalLibrary' 
      version '1.0' 

      artifact(bundleRelease) 
      pom.withXml { 
       def dependenciesNode = asNode().appendNode('dependencies') 
       configurations.compile.allDependencies.each { 
        if (it.group != null && (it.name != null || "unspecified".equals(it.name)) && it.version != null) { 
         def dependencyNode = dependenciesNode.appendNode('dependency') 
         dependencyNode.appendNode('groupId', it.group) 
         dependencyNode.appendNode('artifactId', it.name) 
         dependencyNode.appendNode('version', it.version) 
        } 
       } 
      } 
     } 
    } 
} 

enter image description here

Note: Ne pas oublier de cliquer sur ** Synchroniser maintenant chaque fois, votre build.gradle modifié

- Publier le module: Cliquez sur Gradle bouton en haut à droite de votre studio Android et vous devriez voir le nom de la tâche graduelle publication.

enter image description here

Ensuite, vous pouvez voir que, il y a 2 tâches (publishLibaryPublicationToMavenLocal et publishToMavenLocal). Doublez l'une des tâches ci-dessus ou cliquez avec le bouton droit sur l'une des tâches ci-dessus, puis choisissez exécuter. Et attendez de voir si votre build est BUILD SUCCESSFUL.

Pour rendre votre bibliothèque est publiée, votre pouvez vérifier votre dépôt .m2, vous devriez voir comme capture d'écran ci-dessous:

enter image description here

- Si la construction est le succès, votre bibliothèque devrait être prêt utiliser. Créez maintenant un nouveau projet android et mettez à jour les dépôts d'applications: Dans build.gradle du projet de votre application principale, ajoutez mavenLocal().

allprojects { 
    repositories { 
     google() 
     jcenter() 
     mavenCentral() 
     mavenLocal() 
    } 
} 

- Mise à jour des dépendances d'application: open build.gradle (app> build.gradle) et ajoutez votre dépendance locale:

dependencies { 
    ..... 
    compile 'com.example.local.library:MyFirstLocalLibrary:1.0' 
} 

Note: Ne pas oublier de cliquer sur sur ** Synchronisez maintenant à chaque fois, votre édition build.gradle

Tout est terminé. J'espère que cela a été utile :).

+0

Merci de donner la solution, je vais la tester. –

+0

@BongChannarith vous êtes les bienvenus, je suis heureux d'aider :) – Mankeomorakort

+0

Thankful for this help. :) –