DSpotDevelopers / declex

DecleX - Declarative Framework for Android, easier and faster coding.
Other
168 stars 25 forks source link

Can't find class symbol class_ after update to gradle 3.2.0 #245

Closed email4shahbaz closed 5 years ago

email4shahbaz commented 5 years ago

After completing my project using latest Declex framework, I was trying to generate a signed APK to upload on Google Play Store. It required me to update gradle (current is 3.1.2) to latest 3.2.0.

Right after I update gradle, all generated classes throwing "Can't find class symbol class_" error. Please help me. My client is pushing me to publish app but due to this weird issue, I cannot generate signed APK. Can you please suggest any workaround?

Thanks.

smaugho commented 5 years ago

Hi, I'll try to check it out during the week. Recently we have merged with the last version of AndroidAnnotations to avoid Gradle and Kotlin related issues. Though we aren't using 3.2.0 yet.. I'll see how it goes with some of our projects.

Could you please send us your androidannotations.log file?, it should contain information about the errors.

You could find it in: app\build\generated\source\apt\androidannotations.log

At least with the Gradle 3.1.2.

Thanks!

email4shahbaz commented 5 years ago

Thank you for your swift reply, here is what if found in androidannotations.log:

15:31:55.198 [Daemon worker] INFO :65 - Layout Parsing in: D:\LatestData\Ben\Android-Studio\JobWinnFinalDeclex2\app\src\main\res 15:31:55.202 [Daemon worker] INFO :73 - Layout Folders Found: [D:\LatestData\Ben\Android-Studio\JobWinnFinalDeclex2\app\src\main\res\layout] 15:31:55.204 [Daemon worker] INFO :63 - Menu Parsing in: D:\LatestData\Ben\Android-Studio\JobWinnFinalDeclex2\app\src\main\res 15:31:55.205 [Daemon worker] INFO :71 - Menu Folders found: [] 15:31:55.243 [Daemon worker] INFO :81 - Time measurements: [Helpers Initialization = 49 ms], 15:31:55.250 [Daemon worker] INFO :116 - Initialize DecleX 2.0 with options {logLevel=DEBUG} 15:31:55.264 [Daemon worker] INFO :136 - Plugins loaded: [OrmLite]

smaugho commented 5 years ago

Thanks @email4shahbaz ... I think I better run something locally with gradle 3.2.0 and see what happens... I'll let you know here if I find any issue and upload a fix.

email4shahbaz commented 5 years ago

Thank @smaugho , You are a hero. I love your way to respond so quickly on issues. I wish I get some solution as soon as possible. My client is waiting to have his beautiful app published on Google Play Store Now.

email4shahbaz commented 5 years ago

I'm curious to know if you face any issues after upgrade to 3.2.0 ?

smaugho commented 5 years ago

Did it with a project here, and it looks that it compiles fine.. But note, I kept:

compileSdkVersion 27 targetSdkVersion 27

Only changed: buildToolsVersion "28.0.3"

As required by the plugin.

Versions of DecleX used by this project:

    def declex_version = "2.0.a.26"

    //DecleX
    annotationProcessor "com.dspot:declex:$declex_version"
    implementation "com.dspot:declex-api:$declex_version"
    implementation "com.dspot:declex-actions:2.0.a.21"

Hope that helps. I saw you're using a plugin from Android Annotations. Just ensure to use one compatible with Android Annotations 4.3..

DecleX version "2.0.a.28" should be compatible with 4.5 and 4.6, but we need more testing of it (so probably new versions will be updated for it).

email4shahbaz commented 5 years ago

Did you try to generate a Signed Bundle APK ?

smaugho commented 5 years ago

No, simply compiled... I'll sign it and let you know.. could you tray anyway with that configuration above? Also, if you go back to Gradle 3.1.4, you don't have that issue right?

email4shahbaz commented 5 years ago

I'm trying to compile with configurations you sent. If I go back to Gradle 3.1.4, I don't see the issue.

email4shahbaz commented 5 years ago

Can you please let me know if your are successful in generating signed apk? I'm still struggling with it.

smaugho commented 5 years ago

@email4shahbaz I was able to sign an APK without issues with that configuration, maybe you have some different configuration set for release on your build.gradle file? If it is working in Debug, then there should be a difference in configs..

Is the build passing all the Lint verification?, try with:

   android {
        lintOptions {
            checkReleaseBuilds false
        }
    }
email4shahbaz commented 5 years ago

Hey @smaugho Thank you so much for all your help. After struggling too much with these kind of issues, I finally found a solution. You simply have to click File>Invalidate Caches / Restart in Android Studio. This solves most of the issues realted to "Can't find class symbol class_. I'm closing this issue now.