【问题标题】:Using Maven Inside of Android Studios在 Android Studio 中使用 Maven
【发布时间】:2016-02-10 20:24:53
【问题描述】:

这几天我一直在做大量的搜索。我找到了结果,但它适用于旧版本或不适用于我的情况。

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

我想在 Android Studio 中使用相同的 maven 项目。我很确定我需要在 build.gradle 中做一些事情,但是有 2 个不同的,我不确定需要将依赖项放在哪一个或者需要放在哪里。

我在编写代码时没有收到任何错误,并且问题发生在运行时缺少类定义

我不确定如何告诉 gradle 下载所需的依赖项

应用程序(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);


    }
}

【问题讨论】:

    标签: android maven android-studio android-gradle-plugin


    【解决方案1】:

    我认为问题与您的依赖 SoleoLocalSearchAPI 有关。请确保此依赖项已安装到您的本地 maven 存储库。如果你想从另一个远程仓库下载这个依赖,你必须定义如下:

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

    【讨论】:

    • SoleoLocalSearchAPI 是我正在尝试使用的 Maven 项目。如果我导航到 .m2 位置,我在存储库中看到它,这是否意味着它已安装? @fuatcoskun
    • 是的,这意味着它已安装在您的本地 maven 存储库中。如果您仍然面临依赖问题,请检查定义为 SoleoLocalSearchAPI:SoleoLocalSearchAPI:0.0.1-SNAPSHOT 的 groupId、artifactId 和版本名称信息
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-13
    • 2014-05-11
    • 2014-11-28
    • 2018-09-08
    • 1970-01-01
    • 2015-12-10
    相关资源
    最近更新 更多