AndroidIDEOfficial / AndroidIDE

AndroidIDE is an IDE for Android to develop full featured Android apps.
https://m.androidide.com
GNU General Public License v3.0
2.36k stars 301 forks source link

NobLinger Able to Build LibGDX Examples or Projects #224

Closed Trasd closed 2 years ago

Trasd commented 2 years ago

Describe the bug Nothing happens!

To Reproduce Steps to reproduce the behavior: Just load the default LibGDX skeleton.

IDE Log (All other logs are empty):

GradleBuildService        I   Showing notification to user... 
EditorActivity            I   Gradle build service has been started... 
FileTreeFragment          E   Unable to restore tree state  treeState=null  treeView=com.unnamed.b.atv.view.AndroidTreeView@4f82168 
GradleBuildService        I   Starting tooling API server... 
FileTreeFragment          E   Unable to restore tree state  treeState=null  treeView=com.unnamed.b.atv.view.AndroidTreeView@4f82168 
GradleBuildService        E   Unable to start tooling API server 
GradleBuildService        E  java.io.IOException: error=2, No such file or directory
GradleBuildService        E     at java.lang.UNIXProcess.forkAndExec(Native Method)
GradleBuildService        E     at java.lang.UNIXProcess.<init>(UNIXProcess.java:133)
GradleBuildService        E     at java.lang.ProcessImpl.start(ProcessImpl.java:141)
GradleBuildService        E     at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
GradleBuildService        E   Caused by: java.io.IOException: Cannot run program "/data/data/com.itsaky.androidide/files/usr/opt/openjdk/bin/java" (in directory "/data/data/com.itsaky.androidide/files/home"): error=2, No such file or directory
GradleBuildService        E     at java.lang.ProcessBuilder.start(ProcessBuilder.java:1050)
GradleBuildService        E     at com.itsaky.androidide.shell.CommonProcessExecutor.newProcess(CommonProcessExecutor.java:85)
GradleBuildService        E     at com.itsaky.androidide.shell.CommonProcessExecutor.newProcess(CommonProcessExecutor.java:74)
GradleBuildService        E     at com.itsaky.androidide.shell.CommonProcessExecutor.execAsync(CommonProcessExecutor.java:65)
GradleBuildService        E     at com.itsaky.androidide.shell.CommonProcessExecutor.execAsync(CommonProcessExecutor.java:54)
GradleBuildService        E     at com.itsaky.androidide.services.GradleBuildService$ToolingServerRunner.run(GradleBuildService.java:473)
GradleBuildService        E     at java.lang.Thread.run(Thread.java:923)
GradleBuildService        E  
GradleBuildService        E  
FileTreeFragment          E   Unable to restore tree state  treeState=  treeView=com.unnamed.b.atv.view.AndroidTreeView@2d1777a
Trasd commented 2 years ago

Sorry, I thought it reported this info, Build 202, I think it was (Android CI #389). I've rolled backs couple weeks, so I cannot check.

This is on my Lenovo Tab P11 Pro (TBJ706F), Qualcomm Snapdragon 730G 2.20 GHz [8 core], 128 GB Internal Storage, 6 GB RAM, running Android 11.

itsaky commented 2 years ago

Caused by: java.io.IOException: Cannot run program "/data/data/com.itsaky.androidide/files/usr/opt/openjdk/bin/java" (in directory "/data/data/com.itsaky.androidide/files/home"): error=2, No such file or directory

Says that you have not installed JDK. You can install it using terminal with pkg in openjdk-17.

Trasd commented 2 years ago

Hum, I had it and didn't uninstall it. It has been working great. Does it need an update from the "official" (on your web site) version?

I'll upgrade to the latest again and try it. If it doesn't work, I'll reinstalled with the latest tools and see itf that works. If it does, I'll close out the report.

Thanks....

itsaky commented 2 years ago

A simple pkg in openjdk-17 in terminal should fix the issue (requires a restart of the IDE).

Trasd commented 2 years ago

I updated to the latest release (CL392) and did the pkg upgrade (openjdk-17), then I did an upgrade on all packages. I restarted the compiler, then started a fresh LigGDX app. It tried to compile this time, but failed in the end (again, this is with the AndroidIDE supplied template and no changes to the code on my part). It does not compile my previous LibGDX app, either. The error is:

Executing tasks: clean, build
The client will now receive all logging from the daemon (pid: 10194). The daemon log file: /data/data/com.itsaky.androidide/files/home/.gradle/daemon/7.4.2/daemon-10194.out.log
Starting 3rd build in daemon [uptime: 2 mins 52.488 secs, performance: 99%, non-heap usage: 9% of 1 GiB]
Using 6 worker leases.
Closing daemon's stdin at end of input.
The daemon will no longer process any standard input.
Watching the file system is configured to be enabled if available
File system watching is inactive
Starting Build
Settings evaluated using settings file '/storage/emulated/0/AndroidIDEProjects/wtf/settings.gradle'.
Projects loaded. Root project using build file '/storage/emulated/0/AndroidIDEProjects/wtf/build.gradle'.
Included projects: [root project 'wtf', project ':app', project ':core']

> Configure project :
Evaluating root project 'wtf' using build file '/storage/emulated/0/AndroidIDEProjects/wtf/build.gradle'.

> Configure project :app
Evaluating project ':app' using build file '/storage/emulated/0/AndroidIDEProjects/wtf/app/build.gradle'.
WARNING:The option setting 'android.aapt2FromMavenOverride=/data/data/com.itsaky.androidide/files/home/.androidide/aapt2' is experimental.

> Configure project :core
Evaluating project ':core' using build file '/storage/emulated/0/AndroidIDEProjects/wtf/core/build.gradle'.
Project project ':core' does not apply Android's application or library plugin
AndroidIDE's Gradle Plugin will not be applied to this project
All projects evaluated.
Selected primary task 'clean' from project :
Selected primary task 'build' from project :

FAILURE: Build failed with an exception.

* What went wrong:
Could not determine the dependencies of task ':app:compileReleaseJavaWithJavac'.
> SDK location not found. Define a valid SDK location with an ANDROID_HOME environment variable or by setting the sdk.dir path in your project's local properties file at '/storage/emulated/0/AndroidIDEProjects/wtf/local.properties'.

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --debug option to get more log output.
> Run with --scan to get full insights.

* Get more help at https://help.gradle.org

Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0.

You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.

See https://docs.gradle.org/7.4.2/userguide/command_line_interface.html#sec:command_line_warnings

BUILD FAILED in 2s
itsaky commented 2 years ago

SDK location not found.

Have installed the Android SDK?

Trasd commented 2 years ago

I installed the official release along with all the tools a couple days ago (after I started this report). I then updated to the May 30th build (as I know it works) I took care of some code I needed to, then I installed the latest apk. I then ran the pkg install openjdk-17 as instructed. I went ahead and updated all installed packages as well.

So yes, the official tools were installed. If any updated or newer tools were supposed to be installed as well, then no, but I've never needed to update the tools before. If I am supposed to install new tools, is that documented somewhere? Are, am I supposed to update the tools when a new Gradle version is released?

I am not coming from a Studio background (though I used Studio for the final compile of my published app), but an AIDE background (which I used for years before it went defunct).

I'm just trying to get this straight so I don't have to bug you (and the community) every time maintenance needs to be done, I just need to know where to look for instructions.

Thanks, and sorry it's so long....

itsaky commented 2 years ago

You said you're using APK from releases. If so, follow the old method of downloading the build tools, then installing them in the installer activity.

You could also use the APK from the latest workflow run then follow this guide. It just needs you to execute a script which will install the tools for you.

Trasd commented 2 years ago

Perfect. Thank you. Works great, now.

Only thing is "wget" is not installed by default, but that was no big deal.

How do we know when to update the build tools?

itsaky commented 2 years ago

How do we know when to update the build tools?

You can either join the Telegram group or watch the androidide-build-tools repository.

Closing this issue as it is fixed.

Trasd commented 2 years ago

OK, thanks. But, as I've said, Telegram is not an option. Is there no chance of using a forum that doesn't require a mobile phone number?

itsaky commented 2 years ago

I don't know about any other forums or something. But you can simply become a watcher of that repo and GitHub will send you emails about commits, issues, etc.

Trasd commented 2 years ago

Good idea. I get lost in the trees sometimes and cannot see the forest.

Thanks for the help.

Trasd commented 2 years ago

Akash,

Sorry to write you directly, again, but i'm trying to track down a bug in my code. I assume your LogSender sends info back to AndroidIDE to help with that issue.

The problem is, I cannot get LogSender to work. I've searched everywhere (maven central, GitHub, etc.) but cannot find instructions on how to make LogSender work, or a package! Is there a dependency I'm missing or something?

I get the following error when I include the LogSender lines of code in my MainActivity.java?

Compiling with JDK Java compiler API. /storage/emulated/0/AndroidIDEProjects/MyRoom/app/src/main/java/com/ebookfrenzy/roomdemo/MainActivity.java:9: error: package com.itsaky.androidide.logsender does not exist import com.itsaky.androidide.logsender.LogSender; ^ 1 error :app:compileDebugJavaWithJavac (Thread[Execution worker for ':' Thread 4,5,main]) completed. Took 1.335 secs. :app:initializeIDEProject (Thread[Execution worker for ':' Thread 4,5,main]) started.

Task :app:initializeIDEProject Caching disabled for task ':app:initializeIDEProject' because: Build cache is disabled Task ':app:initializeIDEProject' is not up-to-date because: Task.upToDateWhen is false.

PROJECT INITIALIZED <<< :app:initializeIDEProject (Thread[Execution worker for ':' Thread 4,5,main]) completed. Took 0.332 secs.

FAILURE: Build failed with an exception. How can I get LogSender to work?

Thanks,

Troy On June 23, 2022 8:13:34 AM Akash Yadav @.***> wrote:

I don't know about any other forums or something. But you simply become a watcher of that repo and GitHub will send you emails about commits, issues, etc. — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>