【问题标题】:Active android - application crashesActive android - 应用程序崩溃
【发布时间】:2016-03-15 08:13:48
【问题描述】:

我重新安装了 android studio,从那以后我在 logcat 中遇到了问题:

FATAL EXCEPTION: main
Process: loop.org.digitalgreen.loop, PID: 21167
java.lang.NoClassDefFoundError: android.support.v4.hardware.fingerprint.FingerprintManagerCompatApi23$1
at java.lang.Class.classForName(Native Method)
at java.lang.Class.forName(Class.java:309)
at com.activeandroid.ReflectionUtils.getModelClasses(ReflectionUtils.java:83)
at com.activeandroid.DatabaseHelper.onCreate(DatabaseHelper.java:46)
at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:251)
at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:163)
at com.activeandroid.Registry.openDatabase(Registry.java:149)
at com.activeandroid.Registry.initialize(Registry.java:107)
at com.activeandroid.ActiveAndroid.initialize(ActiveAndroid.java:8)
at loop.org.digitalgreen.loop.utils.MyApplication.onCreate(MyApplication.java:41)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1035)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4638)
at android.app.ActivityThread.access$1500(ActivityThread.java:155)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1378)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5343)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:905)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:700)

之前运行良好。

我的 gradle 文件看起来像:

    buildscript {
repositories {
    maven { url 'https://maven.fabric.io/public' }
}

dependencies {
    classpath 'io.fabric.tools:gradle:1.+'
}}apply plugin: 'com.android.application' apply plugin: 'io.fabric'                                android {
compileSdkVersion 23
buildToolsVersion "23.0.2"

defaultConfig {
    applicationId "A.b.c"
    minSdkVersion 14
    targetSdkVersion 23
    versionCode 1
    versionName "1.0"
}
} } dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile files('libs/activeandroid-3.0.jar')
compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.android.support:design:23.1.1'
compile 'com.google.code.gson:gson:2.2.4'
compile 'com.mcxiaoke.volley:library:1.0.17'
compile 'com.github.bumptech.glide:glide:3.6.1'
compile 'de.hdodenhof:circleimageview:2.0.0'
compile('com.crashlytics.sdk.android:crashlytics:2.5.5@aar') {
    transitive = true;
}

compile 'com.android.support:cardview-v7:23.2.0'}

我还尝试了活动的 android 3.1 beta gradle 链接,但这也不起作用。 我做错了什么?

【问题讨论】:

  • 致电compile 'com.android.support:cardview-v7:23.1.0'
  • 那也不行

标签: android android-studio noclassdeffounderror activeandroid


【解决方案1】:

尝试在您的清单中添加 AA_MODELS 标签,更多信息在这里:https://github.com/pardom/ActiveAndroid/wiki/Creating-your-database-model#speeding-up-application-startup

【讨论】:

    【解决方案2】:

    尝试将libs/activeandroid-3.0.jar改为

    compile 'com.michaelpardo:activeandroid:3.1.0-SNAPSHOT'

    【讨论】:

    • 也许是 com.android.support:support-v4:23.0.0 ?
    【解决方案3】:

    java.lang.NoClassDefFoundError: android.support.v4.hardware.fingerprint.FingerprintManagerCompatApi23$1

    如果 Java 虚拟机或 ClassLoader 实例尝试加载类的定义(作为正常方法调用的一部分或作为使用 new 表达式创建新实例的一部分)并且没有类的定义可以找到了。

    您必须在 Build.gradle(app)

    中的依赖项之上添加存储库代码
     repositories {
        mavenCentral()
        maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
    }
    

    然后调用

    compile 'com.michaelpardo:activeandroid:3.1.0-SNAPSHOT'
    

    【讨论】:

    • 现在问题出在数据库的查询上。当我尝试查询我的数据库时出现错误
    • @AbhishekLodha 卸载应用程序并再次运行。然后检查 Sqlite db 问题
    • @AbhishekLodha 你修好了吗?
    • 是的,已修复。谢谢。
    猜你喜欢
    • 2012-10-04
    • 1970-01-01
    • 2018-06-27
    • 2020-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多