Search code examples
javaandroidzxingzbarlibs

The problem with the addition .jar file to project


Added two custom zxing and zbar libraries for reading and generating barcodes via File>New> Jar.file added them after in Project Structure too added them and chose implementation in all already open questions compile is used but in android studio it is no longer instead of it implementation and api how to add them correctly?

build.gradle (app)

apply plugin: 'com.android.application'
check.dependsOn 'assembleDebugAndroidTest'

android {
compileSdkVersion 28
flavorDimensions "minSdkVersion"

defaultConfig {

    minSdkVersion 16
    targetSdkVersion 28
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner 
'android.support.test.runner.AndroidJUnitRunner'
}

buildTypes {
    release {
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 
'proguard-rules.pro'
    }
}

compileOptions {
    sourceCompatibility 1.8
    targetCompatibility 1.8
}
}

configurations.all {
resolutionStrategy.force 'com.android.support:support-annotations:28.0.0'
}

dependencies {
implementation 'com.android.support:multidex:1.0.3'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
//noinspection GradleCompatible
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support:support-v4:28.0.0'
implementation 'com.android.support:animated-vector-drawable:28.0.0'
implementation 'com.android.support:cardview-v7:28.0.0'
implementation 'com.android.support:design:28.0.0'
// Firebase Authentication
implementation 'com.google.firebase:firebase-core:16.0.7'
implementation 'com.google.firebase:firebase-auth:16.2.0'
implementation 'com.google.android.gms:play-services-maps:16.1.0'
implementation 'com.google.firebase:firebase-database:16.0.1'
androidTestImplementation 'com.android.support.test.espresso:espresso- 
   core:3.0.2'
androidTestImplementation 'com.android.support.test:rules:1.0.2'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
implementation project(':zbar')
implementation project(':zxing_core')
}

apply plugin: 'com.google.gms.google-services'

build.gradle(project)

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

buildscript {
repositories {
    jcenter()
    mavenLocal()
    google()
}
dependencies {
    classpath 'com.android.tools.build:gradle:3.3.2'
    classpath 'com.google.gms:google-services:4.2.0'
}
  }

allprojects {
repositories {
    mavenLocal()
    jcenter()
    google()
    maven { url 'https://maven.fabric.io/public' }
}
  }

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

Solution

  • I'd suggest to use dependencies from here https://mvnrepository.com/artifact/com.google.zxing but in your case (as long as you're adding jars), you can plug them in via implementation fileTree(include: ['*.jar'], dir: 'libs') in build.gradle (libs to be replaced with whatever folder they landed into).