Bir github deposunu klonladım çünkü kodu incelemek istedim, ancak Android Studio'da oluşturmaya çalıştığımda, bazı sorunlarla karşılaştım. Google maven deposunu ekledikten (Android Studio tarafından istendiği gibi) ve Hem Gradle Plugin Sürümünü hem de Grade Sürümünü güncelledikten sonra (sırasıyla 3.5.2 ve 5.4.1'e), derleme aşağıdaki hata nedeniyle başarısız olur:
Neden: yinelenen giriş: META-INF / MANIFEST.MF
Ve bu, daha spesifik olmak gerekirse:
Nedeni: java.util.zip.ZipException: yinelenen giriş: META-INF / MANIFEST.MF
İşte benim proje düzeyinde build.gradle dosya:
buildscript {
repositories {
jcenter()
google()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.5.2'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
maven {
url 'https://maven.google.com'
}
}
}
İşte benim modül build.gradle dosya (bir şey denemeden önce):
apply plugin: 'com.android.application'
android {
compileSdkVersion 22
buildToolsVersion '28.0.3'
defaultConfig {
applicationId "com.thelittlenaruto.supportdesignexample"
minSdkVersion 11
targetSdkVersion 22
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation ('com.android.support:appcompat-v7:22.2.1')
implementation ('com.android.support:design:22.2.1')
implementation 'com.github.frankiesardo:linearlistview:1.0.1@aar'
}
İşte şimdiye kadar denedim:
- Modül build.gradle dosyamın android bölümüne aşağıdakileri ekleme:
sourceSets {
main{
java{
exclude '**/META-INF/MANIFEST'
exclude '**/META-INF/MANIFEST.MF'
exclude 'META-INF/MANIFEST'
exclude 'META-INF/MANIFEST.MF'
exclude '!META-INF/MANIFEST.MF'
}
}
}
- Bu ekleniyor:
sourceSets.main.res.filter.exclude 'META-INF/MANIFEST'
sourceSets.main.res.filter.exclude 'META-INF/MANIFEST.MF'
- Ayrıca bu:
packagingOptions {
apply plugin: 'project-report'
exclude '**/META-INF/MANIFEST'
exclude '**/META-INF/MANIFEST.MF'
exclude 'META-INF/MANIFEST'
exclude 'META-INF/MANIFEST.MF'
exclude '!META-INF/MANIFEST.MF'
}
- Ve bu:
packagingOptions {
pickFirst '**/META-INF/MANIFEST'
pickFirst '**/META-INF/MANIFEST.MF'
pickFirst 'META-INF/MANIFEST'
pickFirst 'META-INF/MANIFEST.MF'
pickFirst '!META-INF/MANIFEST.MF'
}
- Bu:
aaptOptions {
ignoreAssetsPattern "!META-INF/MANIFEST.MF"
ignoreAssetsPattern "META-INF/MANIFEST.MF"
}
Sanırım bu soruda çoğunlukla her şeyi denedim: Belirli dosyaları Android Studio gradle derlemelerinden nasıl hariç tutabilirim?
Hiçbir şey işe yaramadı.
Bir çözüm aradıktan sonra, sorunun yinelenen bağımlılıklarım olduğunu düşünüyorum. Bu yüzden aşağıdakileri denedim:
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation ('com.android.support:appcompat-v7:22.2.1'){
exclude module: 'support-v4'
}
implementation ('com.android.support:design:22.2.1')
implementation 'com.github.frankiesardo:linearlistview:1.0.1@aar'
}
Ve bu:
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation ('com.android.support:design:22.2.1'){
exclude module: 'support-v7'
}
implementation 'com.github.frankiesardo:linearlistview:1.0.1@aar'
}
Ben hala aynı hatayı alıyorum.
Biri bana neyi yanlış yaptığımı söyleyebilir mi? Beklentin için teşekkür ederim. :)