Я создаю 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](https://i.stack.imgur.com/cToHz.png)
введите описание изображения здесь