pardom-zz/ActiveAndroid

NoClassDefFoundError: WearableActivityController$AmbientCallback;

Stardust077 opened this issue · 1 comments

Hello,

I am completely new to Android development and wanted to use ActiveAndroid in my app.
I tried to install it following the documentation, like this:

`

<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.INTERNET"/>
<uses-feature android:name="android.hardware.type.watch" />

<application

    ...

    android:name="com.activeandroid.app.Application"
    >

    <meta-data android:name="AA_DB_NAME" android:value="cardelli_db" />
    <meta-data android:name="AA_DB_VERSION" android:value="5" />

    ...

   
    <activity
        android:name=".MainActivity"
        android:label="@string/app_name"
        android:theme="@style/Theme.InventoryManagement.NoActionBar">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

`

I also dragged the .jar to my libs folder and imported the library. Android Studio finds the annotations when I try to use them.

However, when I start the app, I get a "NoClassDefFoundError". Please see below

E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.inventorymanagement, PID: 26940
java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/wearable/compat/WearableActivityController$AmbientCallback;
at java.lang.Class.classForName(Native Method)
at java.lang.Class.forName(Class.java:454)
at com.activeandroid.ReflectionUtils.getParsers(ReflectionUtils.java:158)
at com.activeandroid.Registry.initialize(Registry.java:100)
at com.activeandroid.ActiveAndroid.initialize(ActiveAndroid.java:8)
at com.activeandroid.app.Application.onCreate(Application.java:9)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1192)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6712)
at android.app.ActivityThread.access$1300(ActivityThread.java:237)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1913)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.android.wearable.compat.WearableActivityController$AmbientCallback" on path: DexPathList[[zip file "/data/app/~~9pvbFFebYtBtO7MtdDhYbA==/com.example.inventorymanagement-I8glsXyrufwz-48YcKB0QQ==/base.apk"],nativeLibraryDirectories=[/data/app/~~9pvbFFebYtBtO7MtdDhYbA==/com.example.inventorymanagement-I8glsXyrufwz-48YcKB0QQ==/lib/x86, /system/lib, /system_ext/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:207)
at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
at java.lang.Class.classForName(Native Method) 
at java.lang.Class.forName(Class.java:454) 
at com.activeandroid.ReflectionUtils.getParsers(ReflectionUtils.java:158) 
at com.activeandroid.Registry.initialize(Registry.java:100) 
at com.activeandroid.ActiveAndroid.initialize(ActiveAndroid.java:8) 
at com.activeandroid.app.Application.onCreate(Application.java:9) 
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1192) 
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6712) 
at android.app.ActivityThread.access$1300(ActivityThread.java:237) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1913) 
at android.os.Handler.dispatchMessage(Handler.java:106) 
at android.os.Looper.loop(Looper.java:223) 
at android.app.ActivityThread.main(ActivityThread.java:7656) 
at java.lang.reflect.Method.invoke(Native Method) 
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947) 
I/Process: Sending signal. PID: 26940 SIG: 9

It looked like a dependency is missing. "AndroidActivityController" is appearently part of AndroidWear. I tried adding the dependency stated there by adding "implementation "androidx.wear:wear:1.2.0-alpha03"" to my build.gradle, but no help.

I searched on the web for this but could not find anything. Any help is much appreciated!

Best regards.

Do you add ActiveAndroid into proguard?