0

I should preface this by saying that I don't know much about programming or android app development at all. I am trying to get a program running to control my pool cover automatically. This program is fairly old, which I imagine is the reason for the issues. I have been following this guide to sign and bundle the APK. As soon as I clone the project from github, I am greeted with this:

ERROR: Could not determine the class-path for class com.android.tools.idea.gradle.project.sync.ng.SyncAction.

In addition to this, the "Generate Signed Bundle / APK button" is not available. From what I can gather, this program uses Gradle 1.10.

Here is the complete output log that I got from android studio

1 Answers1

0

I might have found a solution for your problem but being a project as old as this, you can have problems with library usages.

The reason you're seeing this error is, using info from this answer, because this project was written in Eclipse IDE. The answer says:

when Eclipse export a project to gradle, it use an old gradle plugin version that Android Studio doesn't support.

Following his instructions I changed my Gradle version to 2.3, but Android Studio showed some more errors asking me to upgrade my version to 3.3, as showed here in Project Structure (You can easily access this using Ctrl + Alt + Shift + S). Notice that Android Studio also asked me to set my gradle plugin version to 2.3 on another error, that I did. You should be aware that I had to change my distributionUrl in gradle-wrapper.properties file, as you can see here

Lastly Android Studio demanded me to change buildToolsVersion because it couldn't make my app with original config. Also what gave me the most trouble was the runProgruard function that Studio said didn't exist. I found the solution in this answer. My app build.gradle ended like this.

PS: At EVERY step of changing this configurations I had to go to menu build->rebuild project and then use the gradle button "try again". Sometimes it might seems it is not working, but with patience you will get there.