2017-07-18 4 views
0

J'essaie d'utiliser Paho-MQTT dans studio android. J'ai parlé this link et je dois ajouter ce qui suit à Gradle fichierscomment ajouter Paho-MQTT à android studio

les demandes de lien qui suit:

repositories { 
    maven { 
    url "https://repo.eclipse.org/content/repositories/paho-releases/" 
    } 
} 

dependencies { 
    compile('org.eclipse.paho:org.eclipse.paho.android.service:1.0.2') { 
    exclude module: 'support-v4' 
    } 
} 

le texte ne précise pas quel fichier gradle j'utilise l'utilisation « gradle-proj ou gradle-app », alors j'ai essayé à la fois et dans les deux cas, je reçu des erreurs telles que

Error:(14, 0) Could not find method compile() for arguments [org.eclipse.paho:org.eclipse.paho.android.service:1.0.2, bu[email protected]6dff2815] on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler. 
<a href="openFile:C:\Users\aba\AndroidStudioProjects\Test-PahoMQTT-1\build.gradle">Open File</a> 

s'il vous plaît laissez-moi savoir quel fichier gradle je devrais utiliser « proj ou app »? et comment ajouter le code précédent correctement pour gradle?

build.gradle app:

apply plugin: 'com.android.application' 

android { 
compileSdkVersion 25 
buildToolsVersion "26.0.0" 
defaultConfig { 
    applicationId "com.example.alten.test_pahomqtt_1" 
    minSdkVersion 15 
    targetSdkVersion 25 
    versionCode 1 
    versionName "1.0" 
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 
} 
buildTypes { 
    release { 
     minifyEnabled false 
     proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
    } 
} 
} 

dependencies { 
compile fileTree(dir: 'libs', include: ['*.jar']) 
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { 
    exclude group: 'com.android.support', module: 'support-annotations' 
}) 
compile 'com.android.support:appcompat-v7:25.3.1' 
compile 'com.android.support.constraint:constraint-layout:1.0.2' 
testCompile 'junit:junit:4.12' 

//compile 'org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.0.2' 
//compile 'org.eclipse.paho:org.eclipse.paho.android.service:1.0.2' 
//provided 'com.google.android.things:androidthings:0.2-devpreview' 
//provided 'com.google.android.things:androidthings:0.1-devpreview' 

//compile('org.eclipse.paho:org.eclipse.paho.android.service:1.0.2') { exclude module: 'support-v4' } 
compile files('libs/org.eclipse.paho.android.service-1.0.2.jar') 
compile files('libs/org.eclipse.paho.client.mqttv3-1.0.2.jar') 
} 

projet build.gradle:

// Top-level build file where you can add configuration options common to all sub-projects/modules. 

buildscript { 
repositories { 
    jcenter() 

    maven { url "https://repo.eclipse.org/content/repositories/paho-snapshots/" } 
    maven { url "https://repo.eclipse.org/content/repositories/paho-releases/" } 
} 
dependencies { 
    classpath 'com.android.tools.build:gradle:2.3.3' 

    // NOTE: Do not place your application dependencies here; they belong 
    // in the individual module build.gradle files 
} 
} 

allprojects { 
repositories { 
    jcenter() 

    maven { url "https://repo.eclipse.org/content/repositories/paho-snapshots/" } 
    maven { url "https://repo.eclipse.org/content/repositories/paho-releases/" } 
} 
} 

task clean(type: Delete) { 
delete rootProject.buildDir 
} 

erreur actuelle

enter image description here

Répondre

2

Dans votre application, vous devez ajouter:

dependencies { 
    . . . 
    compile 'org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.1.0' 
    compile 'org.eclipse.paho:org.eclipse.paho.android.service:1.1.1' 
} 

Dans votre proj:

buildscript { 
    repositories { 
     . . . 
     maven { 
      url "https://repo.eclipse.org/content/repositories/paho-releases/" 
     } 
    } 
} 

Ne pas oublier d'ajouter un service à votre manifeste sous étiquette application:

<service 
    android:name="org.eclipse.paho.android.service.MqttService" 
    android:exported="false" /> 

Ces deux lignes

compile files('libs/org.eclipse.paho.android.service-1.0.2.jar') 
compile files('libs/org.eclipse.paho.client.mqttv3-1.0.2.jar') 

ne fonctionnera pas jusqu'à ce que le dossier libs ne contienne pas ce fichier. Si vous voulez coller à cette approche (pots copie), vous pouvez les trouver ici:

https://repo.eclipse.org/content/repositories/paho-releases/org/eclipse/paho/org.eclipse.paho.android.service/ https://repo.eclipse.org/content/repositories/paho-releases/org/eclipse/paho/org.eclipse.paho.client.mqttv3/

+0

i modifié le message, ce que j'ajouté à build.gradle (app) est exactement comme ce que vous affiché, mais J'ai ajouté l'extension '.jar' quand j'utilise la même commande sans' .jar'i ne fonctionne pas. en outre, s'il vous plaît jeter un oeil à la capture d'écran attched, il montre que je ne peux pas utiliser 'MqttService'..maybe parce que mon propre paquet .. s'il vous plaît laissez-moi savoir comment corriger ces erreurs – user2121

+0

comme je vois que vous essayez d'ajouter des pots à partir du dossier libs 'compiler les fichiers ('libs/org.eclipse.paho.android.service-1.0.2.jar')' donc il va chercher le fichier 'org.eclipse.paho.android.service-1.0.2.jar ''dans votre dossier libs. Le code que j'ai posté cherchera ce fichier dans des dépôts (défini dans le projet gradle), et il devrait le trouver dans l'un d'entre eux 'maven {url} https://repo.eclipse.org/content/repositories/paho- snapshots/"}' que nous avons ajouté manuellement – RadekJ

+0

pour les deux dépendances que vous avez enregistrées Je reçois ce qui suit: Erreur: (40, 13) Impossible de résoudre: org.eclipse.paho: org.eclipse.paho.client.mqttv3: 1.1.0 – user2121