Impossible de trouver la classe de symbole dans Android Studio
J'ai deux projets A et B, où B est ajouté un module de projet A. j'ai ajouté des dépendances dans le fichier de build Gradle. Maintenant, je peux importer B de la classe dans Un, sans aucune erreur (dans l'éditeur), mais ne peut pas construire. Préférences est une classe de projet B.
Erreur
Error:(22, 23) error: cannot find symbol class Preferences
Un build fichier
apply plugin: 'com.android.application'
android {
compileSdkVersion 21
buildToolsVersion "21.0.0"
defaultConfig {
applicationId "com.example.A"
minSdkVersion 9
targetSdkVersion 21
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:21.0.3'
compile project(':B')
}
B build fichier
import org.apache.tools.ant.taskdefs.condition.Os
apply plugin: "android-library"
android {
compileSdkVersion 18
buildToolsVersion "21.0.0"
defaultConfig {
minSdkVersion 9
targetSdkVersion 11
}
buildTypes {
release {
minifyEnabled true
proguardFiles 'proguard.cfg'
}
}
sourceSets.main {
jniLibs.srcDir 'src/main/jniLibs'
jni.srcDirs = [] //disable automatic ndk-build call
}
task ndkBuild(type: Exec) {
if (Os.isFamily(Os.FAMILY_WINDOWS)) {
commandLine 'ndk-build.cmd', '-C', file('src/main/jni').absolutePath
} else {
commandLine '/opt/adt-bundle-linux/android-ndk-r8e/ndk-build', '-C', file('src/main/jni').absolutePath
}
tasks.withType(JavaCompile) {
compileTask -> compileTask.dependsOn ndkBuild
}
}
}
dependencies {
compile 'com.android.support:support-v4:18.0.0'
}
Je peux réussir à construire le projet(A) si supprimer l'importation.
source d'informationauteur shantanu
Vous devez vous connecter pour publier un commentaire.
Cela peut arriver si la bibliothèque (que ce soit un module local ou externe de la dépendance) a un
minifyEnabled true
mais la bibliothèque de ProGuard configuration est manquant ou n'est pas correcte (la classe est éligible à la suppression par ProGuard). Cela conduit à la classe de ne pas être compilé.Pour moi, c'était un problème similaire mais sur proguard conf. proguard a été active sur une première bibliothèque et inactif sur une seconde.
Copie même proguard conf sur tous les construire.gradle a résolu le "impossible de trouver le symbole de la classe d'erreur".
J'ai signalé le problème.
TargetSdk version
etsupport package version
de deux projets ne sont pas les mêmes. Après la modification de ces avec la dernière version, mon problème est résolu.J'ai eu cette erreur venue quand j'ai ajouté un nouveau module pour mon projet.
Pour le fixer, j'ai aussi dû changer
minSdkVersion
targetSdkVersion
buildToolsVersion
etcompileSdkVersion
pour correspondre à labuild.gradle
dans mon module d'origine.Après que j'ai fait ces choses, l'erreur était encore à venir alors je l'ai mis
minifyEnabled
àfalse
et puis il compilé et exécuté!