2014-09-05 3 views
0

Я очень новый, работаю с управлением Android и зависимостями с Gradle. Я разработчик с Java, и обычно я использовал Maven для управления зависимостями.Управление зависимостями с Gradle на Android

Исследование Я обнаружил, что Gradle теперь является управлением зависимостями на Android. Обычно я работаю со слоем на стороне сервера. Я сделал клиентский проект для связи с клиентской стороной, который в случае Android-приложения. Я должен добавить клиентскую банку в качестве зависимости в Android-проекте.

На самом деле у меня есть мой локальный репозиторий с Archiva. Обычно в pom.xml я объявлял свой локальный репозиторий в теге репозиториев, и с этим я мог бы включать мои проекты в зависимость.

Возможно ли это с помощью Gradle?

Я сделал это, но когда я запускаю проект в эмуляторе Android, проект выходит из строя.

// Файл сборки верхнего уровня, где вы можете добавить параметры конфигурации, общие для всех подпроектов/модулей.

// Build Configuration 
buildscript { 
    // Repositories 
    repositories { 
     mavenLocal() 
     mavenCentral() 
    } 
    // Dependencies 
    dependencies { 
     classpath 'com.android.tools.build:gradle:0.12.2' 
     // NOTE: Do not place your application dependencies here; they belong 
     // in the individual module build.gradle files 
    } 
} 

// Android Plugin 
//apply plugin: 'android' 
apply plugin: 'android-library' 

// Repositories 
repositories { 
    mavenLocal() 
    mavenCentral() 
} 

// Dependencies Configuration 
dependencies { 
    compile 'org.springframework.android:spring-android-rest-template:1.0.1.RELEASE' 
    compile 'com.fasterxml.jackson.core:jackson-databind:2.4.2' 
    **compile 'com.project:myproject-client:1.0.0'** 
} 

// Android Configuration 
android { 
    buildToolsVersion '20.0.0' 
    compileSdkVersion 20 
    sourceSets { 
     main { 
      manifest { 
       srcFile 'app/src/main/AndroidManifest.xml' 
      } 
      java { 
       srcDir 'app/src/main/java' 
      } 
      res { 
       srcDir 'app/src/main/res' 
      } 
      /*assets { 
       srcDir 'assets' 
      }*/ 
      resources { 
       srcDir 'app/src/main/resources' 
      } 
     } 
    } 
    packagingOptions { 
     exclude 'META-INF/ASL2.0' 
     exclude 'META-INF/LICENSE' 
     exclude 'META-INF/license.txt' 
     exclude 'META-INF/NOTICE' 
     exclude 'META-INF/notice.txt' 
    } 
    lintOptions { 
     // simple xml fails lint checks because it references javax.xml.stream 
     abortOnError false 
    } 
} 

ответ

0

Вам необходимо объявить репозиторий Archiva.

repositories { 
    mavenLocal() 
    mavenCentral() 
    maven { 
     url 'http://hostname/rep' // replace with url to your internal repo 
    } 
} 
+0

Я пробовал это, но когда я перестраиваю проект, у меня есть ошибка: package com.mycompany.package не существует. Я использую Android Studio –

+0

Если вы запустили 'gradlew dependencies --configuration compile', то ваша ли там зависимость? –

+0

Да, но когда я перестраиваю проект и развертываю его в Android-эмулятор, он не загружается, потому что моя зависимость не загружается в apk. –

Смежные вопросы