在Android工作室中使用Maven

时间:2016-02-10 20:24:53

标签: android maven android-studio android-gradle

我几天来一直在搜索这个问题。我找到了结果,但以太适用于旧版本或不适用于我的情况。

我有一个我在Eclipse中构建的Maven项目。我已经通过Eclipse完成了Maven安装和Maven构建。我将Maven项目与另一个Java应用程序一起使用,一旦运行安装它就可以正常运行。

我想在Android Studio中使用相同的maven项目。我非常确定我需要在build.gradle中做一些事情,但有两个不同的,我不确定需要放置哪个依赖项或需要去哪里。

我在编写代码时没有出现错误,问题发生在缺少类定义的运行时

我不知道如何告诉gradle下载所需的依赖项

app(build.gradle):

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    defaultConfig {
        applicationId "com.soleo.api.sdk_demo"
        minSdkVersion 15
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.1.1'
    compile 'SoleoLocalSearchAPI:SoleoLocalSearchAPI:0.0.1-SNAPSHOT'
}

SDK_Demo(build.gradle)

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

buildscript {
    repositories {
        jcenter()
        mavenLocal()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.5.0'

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

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

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

MainActivity.java:

package com.soleo.api.sdk_demo;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

import com.soleo.LocalSearch;


public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        String api = "XXXXXXXXXXXX";
        String ani = "##########";

        LocalSearch localSearch = new LocalSearch(api, ani);


    }
}

1 个答案:

答案 0 :(得分:1)

我认为问题与您的依赖关系SoleoLocalSearchAPI有关。请确保已将此依赖项安装到本地maven存储库。如果要从另一个远程存储库下载此依赖项,则必须按如下方式对其进行定义:

buildscript {
    repositories {
        jcenter()
        maven { url 'http://blablabla.com' }
    }
.......
}