не находится класс MainActivity
От: Аноним  
Дата: 03.07.13 06:32
Оценка:
Приложение андроид состоит из 3х модулей
JavaLib ( java библиотека без зависимостей от android )
|
AndroidLib ( android библиотека )
|
AndroidApp ( приложение )


В AndroidLib определена BaseActivity
 public class BaseActivity extends Activity 
 {
 }

при таком определении все запускается корректно

но если сделать так

 public class BaseActivity extends Activity implements IJavaLibInterface
 {
 }


компилиться нормально, но при запуске сразу падает

Unable to instantiate activity ComponentInfo{com.example/com.example.MainActivity}: java.lang.ClassNotFoundException: Didn't find class "com.example.MainActivity" on path: /data/app/com.example-2.apk


Т.е. падать начинает когда у BaseActivity в AndroidLib появляется связь с JavaLib.
Если тот же интерфейс IJavaLibInterface объявить в AndroidLib, то все ок.

В чем может быть дело ?

build.gradle описаны так :

JavaLib

apply plugin: 'java'

( может этого не достаточно что-то еще нужно добавить ? )


AndroidLib
buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.4'
    }
}
apply plugin: 'android-library'

dependencies {
    compile project (':JavaLib')
}

android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"

    defaultConfig {
        minSdkVersion 7
        targetSdkVersion 16
    }
}



AndroidApp
buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.4'
    }
}
apply plugin: 'android'

dependencies {
    compile project (':JavaLib)
    compile project (':AndroidLib')
}

android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"

    defaultConfig {
        minSdkVersion 7
        targetSdkVersion 16
    }
}


в корне build.gradle пустой и

settings.gradle содержит
include  ':JavaLib,':AndroidLib, ':AndroidApp'
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.