Paquetes del módulo de biblioteca no encontrados en el módulo principal
Tengo un proyecto que importé de Eclipse a Android Studio. En Eclipse todo funcionó bien.
Contiene un módulo principal (un proyecto de Eclipse) que utiliza paquetes de un módulo de biblioteca (proyecto de biblioteca en Eclipse). Puesto que la migración no fue bien, he creado un módulo de la biblioteca manualmente y apenas copié todo el código de fuente al módulo nuevamente creado.
- Android Studio 'Añadir como biblioteca' falta Para Universal Tween Engine en Libgdx
- La aplicación se bloquea en Android 6 porque el módulo tiene reubicaciones de texto
- Insmod: falló init_module (error de formato Exec)
- Módulos de carga de Android dinámicamente
- Android Studio Gradle - establece la variante de construcción del módulo
El problema es que el módulo principal no parece encontrar los paquetes del módulo de la biblioteca y cuando reconstruyo el proyecto consigo errores como "el paquete bla bla no existe".
Aquí está el módulo principal gradle.build:
apply plugin: 'com.android.application' android { compileSdkVersion 25 buildToolsVersion "25.0.0" defaultConfig { applicationId "com.pointer.mamagoose" minSdkVersion 9 targetSdkVersion 21 } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' } } } dependencies { compile project(':linphoneclean') compile 'com.android.support:support-v4:25.0.0' compile 'com.android.support:appcompat-v7:25.0.0' compile 'com.google.android.gms:play-services:9.4.0' compile files('libs/firebase-client-android-2.5.0.jar') compile files('libs/apache-httpcomponents-httpclient.jar') compile files('libs/apache-httpcomponents-httpcore.jar') compile files('libs/android-support-v7-recyclerview.jar') }
linphoneclean es el módulo de la biblioteca.
El conjunto del proyecto settings.gradle:
include ':linphoneclean' include ':tigris'
Este es el build.gradle del módulo de biblioteca:
apply plugin: 'com.android.library' android { compileSdkVersion 25 buildToolsVersion "25.0.0" defaultConfig { minSdkVersion 9 targetSdkVersion 25 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) compile 'com.android.support:appcompat-v7:25.0.0' testCompile 'junit:junit:4.12' compile 'com.google.code.gson:gson:2.6.2' compile files('libs/commons-lang3-3.4.jar') compile files('libs/linphone.jar') compile files('libs/firebase-client-android-2.5.0.jar') }
La estructura del módulo de biblioteca incluye, por ejemplo, la carpeta: src / main / com / pointer / linphone (y en el interior hay todos los archivos java con una desaceleración del package com.pointer.linphone
, com.pointer.linphone no existe).
¿Qué estoy haciendo mal?
- Crear un AAR que depende de varios AAR
- Android Studio: El módulo no aparecerá en "Editar configuración"
- Jacoco cobertura de código en proyecto con múltiples sabores y módulos
- Error de proyecto de Android Studio Library
- Bluetooth androide rfcomm conectar demasiado lento
- Android inhabilita Crashlytics en proyecto de biblioteca para depuración
- Proyecto ya contiene módulo con este nombre - Android Studio
- Android Studio - Biblioteca de módulos App + NDK
Después de luchar con el mismo problema durante horas aquí es lo que funcionó para mí.
He creado un nuevo proyecto con actividad en blanco, agregó un módulo de biblioteca con una clase dummy, definió la dependencia. Comprobó que funciona al importar la clase dummy en la aplicación. Entonces copié todo mi código relevante del proyecto real.
Mi pensamiento es que probablemente fue cuestión con archivos iml de IDE, ya que a partir de cero y copiar cosas más trabajado.
Ver correctamente el archivo de origen contiene tanto la carpeta java como la carpeta res, añadir archivos java en paquetes java y res en res folder.Add Nombre de la actividad en el archivo Manifest, agregue los archivos de las bibliotecas necesarias en el archivo Gradle.Clean y reconstruya el proyecto en el estudio Android .
https://developer.android.com/guide/topics/manifest/manifest-element.html
Tal vez usted puede comprobar si el AndroidManifest de la biblioteca ha definido el paquete correctamente, como:
<manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" package="com.pointer.linphone">