Soutien Android multidex mise en œuvre de bibliothèque
J'ai frappé la magie dex limite parce que mon application utilise beaucoup de pots (en voiture de l'api, greendao, texte en format pdf, soutien...).
Ma solution actuelle est que j'ai littéralement créé un deuxième apk juste pour google drive qui j'ai appelé à partir de la principale apk. Mais maintenant, j'ai découvert que android enfin prend en charge ce avec cette bibliothèque. Mon problème est juste que je ne sais pas comment le mettre en œuvre(de préférence sans gradle). Je ne trouve pas de bons tutoriels pour elle.
Okey je perds mon esprit, essayant de mettre en œuvre cette.. j'ai trouvé ceci:
http://blog.osom.info/2014/10/multi-dex-to-rescue-from-infamous-65536.html
Et j'ai ajouté:
android:name="android.support.multidex.MultiDexApplication"
À mon fichier manifeste et
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
MultiDex.install(this);
}
À mon mainactivity.java
Également installé gradle plugin pour eclipse, exporté gradle pour obtenir de construire.gradle fichier dont j'ai changé pour:
apply plugin: 'android'
dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
compile project(':android-support-v7-appcompat')
compile project(':Sync')
compile project(':gdrive:google-play-services_lib')
}
android {
compileSdkVersion 14
buildToolsVersion "21.1.1"
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src-gen','src']
resources.srcDirs = ['src-gen','src']
aidl.srcDirs = ['src-gen','src']
renderscript.srcDirs = ['src-gen','src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
}
//Move the tests to tests/java, tests/res, etc...
instrumentTest.setRoot('tests')
//Move the build types to build-types/<type>
//For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ...
//This moves them out of them default location under src/<type>/... which would
//conflict with src/being used by the main source set.
//Adding new build types or product flavors should be accompanied
//by a similar customization.
debug.setRoot('build-types/debug')
release.setRoot('build-types/release')
}
dexOptions {
preDexLibraries = false
}
}
afterEvaluate {
tasks.matching {
it.name.startsWith('dex')
}.each { dx ->
if (dx.additionalParameters == null) {
dx.additionalParameters = ['--multi-dex']
} else {
dx.additionalParameters += '--multi-dex'
}
}
}
Mais L'erreur est toujours le même 🙁
OriginalL'auteur Tadej Vengust | 2014-11-14
Vous devez vous connecter pour publier un commentaire.
Le Blog était l'ancienne solution.
Avec Android Studio 0.9.2 & Plugin Gradle 0.14.1, vous avez seulement besoin de:
Ajouter à AndroidManifest.xml:
.
ou
Ajouter
dans votre Application personnalisée de
attachBaseContext
méthodeou votre Application personnalisée étendre
MultiDexApplication
multiDexEnabled = true
dans votre construction.gradle.
Fait.
Désolé pour mon mauvais anglais
Ressources Connexes:
http://developer.android.com/tools/building/multidex.html
https://plus.google.com/+XavierDucrohet/posts/1FnzwdcBnyC
Puis-je faire dans eclipse et pas dans android studio?
Actuellement, aucun. le plugin ADT pour Eclipse n'est plus en développement.
OriginalL'auteur darktiny
Il ya quelques choses que vous avez à faire,
1 - Dans votre gradle vous devez spécifier multidex et ajouter la bibliothèque de prise en charge:
2 - Dans votre manifeste, vous devez configurer votre application pour un multidex application:
3.1 - Dans votre classe d'application que vous avez à prolonger
MultiDexApplication
:3.2 - Ou Annuler la
attachBaseContext()
méthode:ressources: http://developer.android.com/tools/building/multidex.html
Google a cessé de soutenir Eclipse ADT. Donc, il est possible de le faire avec eclipse, mais Android Studio est la voie à suivre. Je vous recommande vraiment de l'exportation de votre projet pour Android Studio: developer.android.com/sdk/installing/migrate.html
parce que mon projet est de 40.000 lignes + et comprend de multiples bibliothèque comme greenDAO je suis haveing extrême troubles de la migration vers android studio c'est pourquoi je voudrais le faire dans eclipse, mais j'ai éprouvé beaucoup de difficulté à le faire. Connaissez-vous la solution pour cela est d'eclipse?
Sa vaut le coup de migrer manuellement votre projet
Step 1, Download android studio.
L'étape 2, Créez un nouveau projet dans Android studio avec le même nom de paquet.Step 3, copy all the classes and resources from the eclipse project folder into the android studio.
L'étape 4, appuyez sur le bouton exécuter.OriginalL'auteur Nicolas Tyler
Selon les docs à https://developer.android.com/studio/build/multidex.html#avoid
Avec
OriginalL'auteur Sanket Berde