voici mon fichier de version (app):
apply plugin: 'com.Android.application'
apply plugin: 'io.fabric'
apply plugin: 'checkstyle'
def versions = ['appcompat_v7' : '25.1.0',
'butterknife' : '8.4.0',
'leak_canary' : '1.5',
'card_view' : '25.1.0',
'design' : '25.1.0',
'photoview' : '1.2.4',
'play_services': '10.0.1']
task checkstyle(type: Checkstyle) {
configFile file("${project.rootDir}/checkstyle/checkstyle.xml")
configProperties.checkstyleSuppressionsPath = file("${project.rootDir}/config/quality/checkstyle/suppressions.xml").absolutePath
// Where is my suppressions file for checkstyle is...
source 'src'
include '**/*.Java'
exclude '**/gen/**'
classpath = files()
}
Android {
compileSdkVersion 25
buildToolsVersion '27.0.3'
flavorDimensions "versionCode"
useLibrary 'org.Apache.http.legacy'
dexOptions {
// Skip pre-dexing when running on Travis CI or when disabled via -Dpre-dex=false.
preDexLibraries = preDexEnabled && !travisBuild
}
defaultConfig {
ndk {
abiFilters 'x86', 'armeabi-v7a'
}
minSdkVersion 15
targetSdkVersion 23
versionCode 1
vectorDrawables.useSupportLibrary = true
testInstrumentationRunner "Android.test.InstrumentationTestRunner"
}
signingConfigs {
release
}
buildTypes {
debug {
debuggable true
}
release {
//runProguard true
proguardFile file('Android.pro')
proguardFile getDefaultProguardFile('proguard-Android.txt')
signingConfig signingConfigs.release
}
}
splits {
abi {
enable true
reset()
include 'x86', 'armeabi-v7a'
universalApk true
}
}
// map for the version code
productFlavors {
playstore {
}
develop {
}
}
lintOptions {
//I'm too lazy to translate everything
abortOnError false
}
externalNativeBuild {
ndkBuild {
path 'src/main/jni/Android.mk'
}
}
}
def Properties props = new Properties()
def propFile = new File('signing.properties')
if (propFile.canRead()) {
props.load(new FileInputStream(propFile))
if (props != null && props.containsKey('STORE_FILE') && props.containsKey('STORE_PASSWORD') &&
props.containsKey('KEY_ALIAS') && props.containsKey('KEY_PASSWORD')) {
Android.signingConfigs.release.storeFile = file(props['STORE_FILE'])
Android.signingConfigs.release.storePassword = props['STORE_PASSWORD']
Android.signingConfigs.release.keyAlias = props['KEY_ALIAS']
Android.signingConfigs.release.keyPassword = props['KEY_PASSWORD']
} else {
println 'signing.properties found but some entries are missing'
Android.buildTypes.release.signingConfig = null
}
} else {
println 'signing.properties not found'
Android.buildTypes.release.signingConfig = null
}
buildscript {
repositories {
jcenter()
mavenCentral()
}
}
dependencies {
compile project(":tess-two:tess-two")
compile project(":volley")
compile project(":real-time-ocr")
compile 'com.github.barteksc:pdfium-Android:1.5.0'
compile fileTree(dir: 'src/main/libs', include: '*.jar')
debugCompile "com.squareup.leakcanary:leakcanary-Android:${versions.leak_canary}"
releaseCompile "com.squareup.leakcanary:leakcanary-Android-no-op:${versions.leak_canary}"
compile 'com.viewpagerindicator:library:2.4.1@aar'
compile "com.commit451:PhotoView:${versions.photoview}"
compile 'com.google.code.findbugs:jsr305:2.0.2'
compile "com.google.guava:guava:18.0"
compile 'de.greenrobot:eventbus:2.4.0'
compile 'com.nineoldandroids:library:2.4.0'
compile "com.Android.support:design:${versions.design}"
compile "com.Android.support:appcompat-v7:${versions.appcompat_v7}"
compile 'org.Apache.commons:commons-compress:1.5'
compile "com.Android.support:cardview-v7:${versions.card_view}"
compile 'com.google.code.gson:gson:2.8.2'
compile "com.jakewharton:butterknife:${versions.butterknife}"
annotationProcessor 'com.jakewharton:butterknife-compiler:8.4.0'
compile 'com.google.Android.gms:play-services-vision:9.4.0+'
compile group: 'com.facebook.Android', name: 'facebook-Android-sdk', version: '4.25.0'
androidTestCompile 'com.google.dexmaker:dexmaker-mockito:1.0'
androidTestCompile 'com.google.dexmaker:dexmaker:1.0'
androidTestCompile 'org.mockito:mockito-core:1.10.17'
androidTestCompile 'junit:junit:4.12'
testCompile 'junit:junit:4.12'
testCompile "org.mockito:mockito-all:1.10.19"
testCompile("org.robolectric:robolectric:3.0-rc2") {
exclude group: 'commons-logging', module: 'commons-logging'
}
compile('com.crashlytics.sdk.Android:crashlytics:2+') {
transitive = true;
}
compile('com.crashlytics.sdk.Android:crashlytics-ndk:1+@aar') {
transitive = true;
}
compile 'com.Android.support.constraint:constraint-layout:1.0.2'
compile 'com.shawnlin:number-picker:2.4.4'
compile 'com.squareup.picasso:picasso:2.5.2'
}
crashlytics {
enableNdk true
androidNdkOut '/Users/renard/devel/textfairy/tess-two/tess-two/obj'
androidNdkLibsOut '/Users/renard/devel/textfairy/tess-two/tess-two/libs'
}
apply plugin: 'com.google.gms.google-services'
Le studio Android ne peut pas synchroniser le projet et m'obtenir cette erreur:
Configuration en conflit: 'armeabi-v7a, x86' dans ndk Les filtres abi ne peuvent pas être présents lorsque des filtres fractionnements sont définis: x86, armeabi-v7a
La configuration 'compiler' est obsolète et a été remplacée par 'implémentation' . Il sera supprimé fin 2018
La configuration 'debugCompile' est obsolète et a été remplacée par 'debugImplementation' . Il sera supprimé fin 2018
La configuration 'androidTestApi' est obsolète et a été remplacée par 'androidTestImplementation' . Il sera supprimé fin 2018
La configuration 'releaseCompile' est obsolète et a été remplacée par 'releaseImplementation' . Il sera supprimé fin 2018
La configuration 'testCompile' est obsolète et a été remplacée par 'testImplementation' . Il sera supprimé fin 2018
La configuration 'testApi' est obsolète et a été remplacée par 'testImplementation' . Il sera supprimé fin 2018
La configuration 'androidTestCompile' est obsolète et a été remplacée par 'androidTestImplementation' . Il sera supprimé fin 2018
L'option 'Android.enableAapt2' est obsolète et ne devrait plus être utilisée . Utilisez 'Android.enableAapt2 = true' pour supprimer cet avertissement . Il sera retiré fin 2018.
La configuration 'compiler' est obsolète et a été remplacée par 'implémentation' . Il sera supprimé fin 2018
L'option 'Android.enableAapt2' est obsolète et ne devrait plus être utilisée . Utilisez 'Android.enableAapt2 = true' pour supprimer cet avertissement . Il sera retiré fin 2018.
La configuration 'testCompile' est obsolète et a été remplacée par 'testImplementation' . Il sera supprimé fin 2018
La configuration 'testApi' est obsolète et a été remplacée par 'testImplementation' . Il sera supprimé fin 2018
L'option 'Android.enableAapt2' est obsolète et ne devrait plus être utilisée . Utilisez 'Android.enableAapt2 = true' pour supprimer cet avertissement . Il sera retiré fin 2018.
La configuration 'compiler' est obsolète et a été remplacée par 'implémentation' . Il sera supprimé fin 2018
si je supprime cette ligne
defaultConfig {
ndk {
abiFilters 'x86', 'armeabi-v7a'
}
le projet a été synchronisé avec succès mais quand build m'a donné cette erreur
Impossible d'exécuter aapt
J'essaie déjà de nettoyer et de reconstruire le projet mais je ne travaille toujours pas! Je publie également le fichier build.gradle (Project)
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
maven { url 'https://maven.fabric.io/public' }
mavenCentral()
jcenter()
google()
}
dependencies {
classpath 'io.fabric.tools:gradle:1+'
classpath 'com.google.gms:google-services:3.0.0'
classpath 'com.Android.tools.build:gradle:3.1.0'
}
}
allprojects {
repositories {
maven { url 'https://maven.fabric.io/public' }
maven { url "http://dl.bintray.com/populov/maven" }
jcenter()
maven {
url "http://oss.sonatype.org/content/repositories/snapshots"
}
maven { url 'https://oss.jfrog.org/artifactory/oss-snapshot-local/' }
maven {
url "https://maven.google.com" // Google's Maven repository
}
}
}
ext {
travisBuild = System.getenv("TRAVIS") == "true"
// allows for -Dpre-dex=false to be set
preDexEnabled = "true".equals(System.getProperty("pre-dex", "true"))
}
mon fichier gradle-wrapper.properties
#Tue Mar 27 14:42:14 CEST 2018
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.Zip
et mon fichier gradle.properties
ndkDir=/Users/giuliopettenuzzo/Library/Android/sdk/ndk-bundle
org.gradle.jvmargs=-XX\:MaxPermSize\=512m
Android.enableAapt2=false
aidez-moi s'il vous plaît, j'ai passé une journée dans ce numéro !!
ndk
.abiFilters
configuration signifie que seules les architectures de processeur sélectionnées des bibliothèques natives seront incluses dans l'APK final.
D'autre part, splits
.abi
.enable true
indique au compilateur de générer des fichiers APK séparés pour des architectures sélectionnées.
Il semble que ces deux configurations ne puissent pas être définies ensemble. Donc, vous avez deux options:
Désactiver le fractionnement APK (vous l'avez déjà compris). Alors vous aurez un APK.
Supprimez le paramètre ndk
.abiFilters
. Que vous aurez plusieurs APK (probablement beaucoup plus petits). De plus, avec universalApk true
, un APK universel avec toutes les architectures sera généré (probablement beaucoup plus grand que dans l'option 1).
Ensuite, remplacez compile
par le nouveau mot clé implementation
. Je pense que cela ressort clairement du message d'erreur.
Enfin je l'ai obtenu en mettant
abi {
enable false
reset()
include 'x86', 'armeabi-v7a'
universalApk true
}
et multiDexEnabled true
mais je ne sais pas si cela résout le problème ou ignore simplement l'erreur.
J'ai ouvert un ancien projet et lorsque je voulais le construire, j'avais beaucoup d'erreurs, ce qui était très frustrant. J'ai remplacé compiler avec implémentation et ajouté tous les codes requis. Enfin, le projet a été construit avec succès.
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
androidTestImplementation ('com.Android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.Android.support', module: 'support-annotations'
})
implementation 'com.Android.support:support-v4:27.1.1'
implementation 'com.Android.support:cardview-v7:27.1.1'
implementation 'com.Android.support:customtabs:27.1.1'
implementation 'com.Android.support.constraint:constraint-layout:1.0.2'
implementation 'com.facebook.Android:facebook-Android-sdk:4.+'
implementation 'com.facebook.Android:account-kit-sdk:4.+'
implementation 'com.Android.volley:volley:1.1.0-rc2'
implementation 'com.google.Android.gms:play-services-ads:15.0.1'
testImplementation 'junit:junit:4.12'
}
dependencies {
implementation 'com.Android.support:design:26.1.0'
implementation 'com.Android.support:support-v4:26.1.0'
implementation 'com.google.Android.gms:play-services-maps:9.6.1'
implementation fileTree(dir: 'libs', include: ['*.jar'])
androidTestImplementation ('com.Android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.Android.support', module: 'support-annotations'
})
implementation 'com.Android.support:appcompat-v7:26.1.0'
implementation 'com.Android.support.constraint:constraint-layout:1.0.2'
testImplementation 'junit:junit:4.12'
implementation 'com.google.firebase:firebase-core:9.6.1' //referencia a la version de firebase
implementation 'com.google.firebase:firebase-database:9.6.1' // referencia a la base de datos
implementation 'com.google.firebase:firebase-auth:9.6.1'
implementation 'com.google.Android.gms:play-services-auth:9.6.1'
implementation 'com.google.Android.gms:play-services-maps:9.6.1'
// aqui se agrega la referencia a la autentificacion
}
** remplace compile par implemenntation androidCompileTest par androidTestImplementation **