2017-09-17 2 views
0

J'essaye de créer et de construire un projet android avec des outils de ligne de commande seulement (sur win7). Jusqu'ici, j'ai réussi à créer une application et à la construire avec gradle via la ligne de commande. mais j'avais besoin d'utiliser une bibliothèque externe dans mon application, appelée objectbox. Après avoir utilisé ses classes, je reçois une erreur progressive et je ne sais pas comment la résoudre. Je suis les messages de niveau de débogage de gradle avec cette commande:échec gradle - ligne de commande

gradlew assemble --debug 

et semble la partie pertinente que le problème réside commence de ceci:

01: 15: 27,177 [DEBUG] [org.gradle.api .internal.artifacts.ivyservice.ivyresolve.CachingModuleVersionRepository] détecté non-existence d'un artefact 'com.squareup.okio: Okio: 1.11.0: okio.jar' résolveur cache

j'ai trouvé le modèle de cache de résolution d'un entrée saine comme ceci:

01: 15: 27.177 [DEB UG] [org.gradle.api.internal.artifacts.ivyservice.ivyresolve.CachingModuleVersionRepository] Artefact trouvé 'com.google.code.findbugs: jsr305: 3.0.2: jsr305.jar' dans le cache de résolution: C: \ Users \ User .gradle \ caches \ modules \ 2 fichiers-2.1 \ com.google.code.findbugs \ JSR305 \ 3.0.2 \ 25ea2e8b0c338a877313bd4672d3fe056ea78f0d \ jsr305-3.0.2.jar

et trouvé Okio-1.11.0.jar à ce chemin:

C: \ Users \ User.gradle \ caches \ modules-2 \ fichiers-2.1 \ com.squareup.okio \ Okio \ 1.11.0 \ 840897fcd7223a8143f1d9b6f69714e7be34fd50

ainsi que quelques autres dirs et dossiers pertinents aussi. J'ai fait quelques changements et des tests, mais pas de succès. s'il vous plaît aidez-moi à trouver la cause possible et résoudre ce dernier problème.

et c'est le contenu de mon build.gradle:

buildscript { 
    repositories { 
     mavenCentral() 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:0.11.+' 
    } 
} 
apply plugin: 'android' 

android { 
    compileSdkVersion 'android-16' 
    buildToolsVersion '26.0.1' 

    buildTypes { 
     release { 
      runProguard false 
      proguardFile getDefaultProguardFile('proguard-android.txt') 
     } 
    } 
} 

//======================================================= 

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

buildscript { 
    ext.objectboxVersion = '1.0.1' // check for latest version 
    repositories { 
     jcenter() 
     maven { url "http://objectbox.net/beta-repo/" } 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:2.3.3' 
     classpath "io.objectbox:objectbox-gradle-plugin:$objectboxVersion" 
    } 
} 

allprojects { 
    repositories { 
     jcenter() 
     maven { url "http://objectbox.net/beta-repo/" } 
    } 
} 

//============== 

apply plugin: 'com.android.application' 
apply plugin: 'io.objectbox' 

Répondre

0

semble enfin je surmonté le problème.

ai d'abord créé un projet Android gradle avec cette commande exécutée dans un dossier vide:

android create project --gradle --gradle-version 2.3.0 --activity Main --package me_at_gmail_dot_com.myprojectname --target 1 --path . 

c'est mon fichier build.gradle de travail:

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

android { 
    compileSdkVersion 'android-16' 
    buildToolsVersion '26.0.1' 

    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFile getDefaultProguardFile('proguard-android.txt') 
     } 
    } 
} 

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

//=============================================== 

buildscript { 
    ext.objectboxVersion = '1.0.1' // check for latest version 
    repositories { 
     jcenter() 
     maven { url "http://objectbox.net/beta-repo/" } 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:2.3.0' 
     classpath "io.objectbox:objectbox-gradle-plugin:$objectboxVersion" 
    } 
} 

allprojects { 
    repositories { 
     jcenter() 
     maven { url "http://objectbox.net/beta-repo/" } 
    } 
} 

//============= 

apply plugin: 'com.android.application' 
apply plugin: 'io.objectbox' 

J'utilise le plugin Android gradle v2. 3.0 parce qu'il semblait que c'était la version la plus élevée disponible dans le référentiel défini; avec v2.3.3 je recevais une erreur vague, puis je suis allé au repo pour voir si elle existe réellement.

aussi je vois j'ai mis en commentaire mon dossier de libs, parce que j'obtenais une erreur au sujet d'un conflit de nom de bibliothèque, ainsi j'ai deviné c'est la cause, et semble il n'y avait aucun besoin de jars d'objectbox les avait construits à l'avance).

une autre chose: j'ai changé runProguard faux à minifyEnabled faux (voir ceci: https://stackoverflow.com/a/27387994/2982512)

et ceci est mon gradle-emballage.Propriétés:

#Wed Apr 10 15:27:10 PDT 2013 
distributionBase=GRADLE_USER_HOME 
distributionPath=wrapper/dists 
zipStoreBase=GRADLE_USER_HOME 
zipStorePath=wrapper/dists 
distributionUrl=http\://services.gradle.org/distributions/gradle-3.3-all.zip 

i changé seulement la dernière ligne en conformité avec Android version plug-in gradle (voir ceci: https://developer.android.com/studio/releases/gradle-plugin.html#updating-gradle)