Тип программы уже представлен: com.shopapp.gateway.BuildConfig. - ANDROID СТУДИЯ / ПОСТАВЩИК ПОКУПКИ / SHOPAPP- ANDROID - PullRequest
0 голосов
/ 09 февраля 2020

Я создаю shopify провайдера, но я получаю эту ошибку, когда пытаюсь сгенерировать APK.

"Тип программы уже существует: com.shopapp.gateway.BuildConfig"

Файл ShopApplication.kt в Java Каталог:

package com.shopapp
import android.app.Application
import android.content.Context
import android.support.multidex.MultiDex
import com.crashlytics.android.Crashlytics
import com.crashlytics.android.core.CrashlyticsCore
import com.facebook.drawee.backends.pipeline.Fresco
import com.shopapp.data.dao.Dao
import com.shopapp.data.dao.impl.DaoImpl
import com.shopapp.di.component.AppComponent
import com.shopapp.di.component.DaggerAppComponent
import com.shopapp.di.module.RepositoryModule
import com.shopapp.gateway.Api
import com.shopapp.shopify.api.ShopifyApi
import io.fabric.sdk.android.Fabric
import io.reactivex.plugins.RxJavaPlugins



open class ShopApplication : Application() {

    companion object {
        lateinit var appComponent: AppComponent
    }

    override fun attachBaseContext(base: Context) {
        super.attachBaseContext(base)
        MultiDex.install(this)
    }

    override fun onCreate() {
        super.onCreate()

        val api = ShopifyApi (this, "BASE DOMAIN", "STOREFRONT ACCESS TOKEN", "API KEY", "API PASSWORD") //Initialize your api here.

        val dao = DaoImpl(this)

        appComponent = buildAppComponent(api, dao)

        setupFresco()
        setupFabric()

        RxJavaPlugins.setErrorHandler { e ->
            e.printStackTrace()
            Crashlytics.logException(e)
        }
    }

    protected open fun buildAppComponent(api: Api?, dao: Dao?): AppComponent {
        val builder = DaggerAppComponent.builder()
        if (api != null && dao != null) {
            builder.repositoryModule(RepositoryModule(api, dao))
        }
        return builder.build()
    }

    private fun setupFabric() {
        // Set up Crashlytics, disabled for debug builds
        val crashlyticsKit = Crashlytics.Builder()
            .core(CrashlyticsCore.Builder().disabled(BuildConfig.DEBUG).build())
            .build()
        Fabric.with(this, crashlyticsKit)
    }

    private fun setupFresco() {
        Fresco.initialize(this)
    }
}

ЕСЛИ Я ОСТАВЛЯЮ "val api = null" INSTED OF "val api = ShopifyApi (this," BASE DOMAIN "," STOREFRONT ACCESS TOKEN "," API KEY "," API ПАРОЛЬ ")". ЭТО СТРОИТ УСПЕШНО ...

BUILD.GRADLE / APP

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'
apply plugin: 'io.fabric'
apply plugin: 'jacoco-android'

android {
    def globalConfiguration = rootProject.extensions.getByName("ext")

    compileSdkVersion globalConfiguration["androidCompileSdkVersion"]
    buildToolsVersion globalConfiguration["androidBuildToolsVersion"]

    defaultConfig {
        applicationId "com.shopapp"
        minSdkVersion globalConfiguration["androidMinSdkVersion"]
        targetSdkVersion globalConfiguration["androidTargetSdkVersion"]
        testInstrumentationRunner globalConfiguration["testInstrumentationRunner"]

        versionCode 1
        versionName globalConfiguration["versionName"]

        multiDexEnabled true
    }

    testOptions {
        unitTests {
            includeAndroidResources = true

            all {
                jacoco {
                    includeNoLocationClasses = true
                }
            }
        }
    }
}

kapt {
    generateStubs = true
}

jacocoAndroidUnitTestReport {
    csv.enabled false
    html.enabled false
    xml.enabled true
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlinVersion"
    implementation "org.jetbrains.kotlin:kotlin-reflect:$kotlinVersion"
    implementation "com.android.support:multidex:1.0.3"
    implementation "com.android.support:appcompat-v7:$androidSupportVersion"
    implementation "com.android.support:design:$androidSupportVersion"
    implementation "com.android.support:recyclerview-v7:$androidSupportVersion"
    implementation "com.android.support:cardview-v7:$androidSupportVersion"
    implementation "com.android.support.constraint:constraint-layout:$constraintLayoutVersion"
    implementation "com.github.rubygarage:shopapp-shopify-android:1.0.4"
    api 'net.yslibrary.keyboardvisibilityevent:keyboardvisibilityevent:2.1.0'
    implementation "com.facebook.fresco:fresco:$frescoVersion"
    implementation 'com.github.rubensousa:gravitysnaphelper:1.3'
    implementation 'me.relex:circleindicator:1.2.2@aar'

    implementation "com.hannesdorfmann.mosby3:mvp:$mosbyVersion"

    implementation "com.google.dagger:dagger:$daggerVersion"
    kapt "com.google.dagger:dagger-compiler:$daggerVersion"
    compileOnly 'org.glassfish:javax.annotation:10.0-b28'

    implementation 'org.jsoup:jsoup:1.10.1'

    implementation "io.reactivex.rxjava2:rxjava:$rxVersion"
    implementation "io.reactivex.rxjava2:rxandroid:$rxAndroidVersion"

    implementation('com.crashlytics.sdk.android:crashlytics:2.8.0@aar') {
        transitive = true
    }

    implementation project(':data')
    implementation project(':domain')
    implementation project(':gateway')

    testImplementation "com.google.dagger:dagger:$daggerVersion"
    kaptTest "com.google.dagger:dagger-compiler:$daggerVersion"
    testImplementation "com.android.support:appcompat-v7:$androidSupportVersion"
    testImplementation "junit:junit:$junitVersion"
    testImplementation "org.mockito:mockito-core:$mockitoVersion"
    testImplementation "org.robolectric:robolectric:$robolectricVersion"
    testImplementation "org.robolectric:multidex:3.4.2"
    testImplementation "org.robolectric:shadows-support-v4:3.3.2"
    testImplementation "com.nhaarman:mockito-kotlin-kt1.1:$mockitoKotlinVersion"
    androidTestImplementation "com.android.support.test:runner:$testRunnerVersion"
}

project.afterEvaluate {
    android.applicationVariants.all { variant ->
        def realVariantName = variant.name
        def variantName = variant.name.capitalize()

        def task = project.tasks["jacocoTest${variantName}UnitTestReport"]
        def defaultExcludes = task.classDirectories.excludes

        def additionalExcludes = []

        def excludes = defaultExcludes + additionalExcludes

        def kotlinDebugTree = fileTree(dir: "${buildDir}/tmp/kotlin-classes/${realVariantName}", excludes: excludes)

        task.classDirectories.excludes = excludes
        task.classDirectories += kotlinDebugTree
    }
}

ИЗОБРАЖЕНИЕ в android studio

enter image description here

введите описание изображения здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...