A Guide For building Appinventor In both Windows and Linux!

do i need to set any environment variables for python after download

instead of .sh try .cmd

Thanks it was successfully installed tell me onething whenever I run this again do I have to go through all process again or is there any command which start the project in future

umm if you edit any thing in code just run ant and if you wanna start appinventor just run the cmd else if you have setup everything you dont need to do anything else.

I have setup all the steps and there is no error in any step

then as i said if you have everything setup then just the java_dev_appserver cmd and if you edit any code then run ant before using java_dev_appserver cmd . Thats it

I did this but the server is not running again at localhost:8888

Hi all, I am trying to build Appinventor in Ubuntu and have downloaded all thing and I am getting error at step

java_dev_appserver.sh --port=8888 --address=0.0.0.0 appengine/build/war/

The error:

Executing [/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java, -Dfile.encoding=UTF-8, -classpath, /usr/lib/google-cloud-sdk/platform/google_appengine/google/appengine/tools/java/lib/appengine-tools-api.jar, com.google.appengine.tools.development.DevAppServerMain, --property=kickstart.user.dir=/home/ubuntu/mitapp/appinventor-sources/appinventor, --promote_yaml, --port=8888, --address=0.0.0.0, /home/ubuntu/mitapp/appinventor-sources/appinventor/appengine/build/war]
Feb 09, 2023 4:49:42 AM com.google.apphosting.utils.config.AppEngineWebXmlReader readAppEngineWebXml
SEVERE: Received exception processing /home/ubuntu/mitapp/appinventor-sources/appinventor/appengine/build/war/WEB-INF/appengine-web.xml
com.google.apphosting.utils.config.AppEngineConfigException: Could not locate /home/ubuntu/mitapp/appinventor-sources/appinventor/appengine/build/war/WEB-INF/appengine-web.xml
	at com.google.apphosting.utils.config.AppEngineWebXmlReader.getInputStream(AppEngineWebXmlReader.java:155)
	at com.google.apphosting.utils.config.AppEngineWebXmlReader.readAppEngineWebXml(AppEngineWebXmlReader.java:89)
	at com.google.apphosting.utils.config.EarHelper.readWebModule(EarHelper.java:193)
	at com.google.appengine.tools.development.ApplicationConfigurationManager$WarModuleConfigurationHandle.readConfiguration(ApplicationConfigurationManager.java:431)
	at com.google.appengine.tools.development.ApplicationConfigurationManager.<init>(ApplicationConfigurationManager.java:172)
	at com.google.appengine.tools.development.ApplicationConfigurationManager.newWarConfigurationManager(ApplicationConfigurationManager.java:114)
	at com.google.appengine.tools.development.ApplicationConfigurationManager.newWarConfigurationManager(ApplicationConfigurationManager.java:100)
	at com.google.appengine.tools.development.DevAppServerImpl.<init>(DevAppServerImpl.java:155)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
	at com.google.appengine.tools.development.DevAppServerFactory.doCreateDevAppServer(DevAppServerFactory.java:363)
	at com.google.appengine.tools.development.DevAppServerFactory.createDevAppServer(DevAppServerFactory.java:310)
	at com.google.appengine.tools.development.DevAppServerMain$StartAction.apply(DevAppServerMain.java:384)
	at com.google.appengine.tools.util.Parser$ParseResult.applyArgs(Parser.java:58)
	at com.google.appengine.tools.development.DevAppServerMain.run(DevAppServerMain.java:258)
	at com.google.appengine.tools.development.DevAppServerMain.main(DevAppServerMain.java:249)
Caused by: java.io.FileNotFoundException: /home/ubuntu/mitapp/appinventor-sources/appinventor/appengine/build/war/WEB-INF/appengine-web.xml (No such file or directory)
	at java.io.FileInputStream.open0(Native Method)
	at java.io.FileInputStream.open(FileInputStream.java:195)
	at java.io.FileInputStream.<init>(FileInputStream.java:138)
	at java.io.FileInputStream.<init>(FileInputStream.java:93)
	at com.google.apphosting.utils.config.AppEngineWebXmlReader.getInputStream(AppEngineWebXmlReader.java:151)
	... 17 more

com.google.apphosting.utils.config.AppEngineConfigException: Invalid configuration
	at com.google.appengine.tools.development.DevAppServerImpl.reportDeferredConfigurationException(DevAppServerImpl.java:449)
	at com.google.appengine.tools.development.DevAppServerImpl.doStart(DevAppServerImpl.java:246)
	at com.google.appengine.tools.development.DevAppServerImpl.access$000(DevAppServerImpl.java:57)
	at com.google.appengine.tools.development.DevAppServerImpl$1.run(DevAppServerImpl.java:233)
	at com.google.appengine.tools.development.DevAppServerImpl$1.run(DevAppServerImpl.java:231)
	at java.security.AccessController.doPrivileged(Native Method)
	at com.google.appengine.tools.development.DevAppServerImpl.start(DevAppServerImpl.java:231)
	at com.google.appengine.tools.development.DevAppServerMain$StartAction.apply(DevAppServerMain.java:405)
	at com.google.appengine.tools.util.Parser$ParseResult.applyArgs(Parser.java:58)
	at com.google.appengine.tools.development.DevAppServerMain.run(DevAppServerMain.java:258)
	at com.google.appengine.tools.development.DevAppServerMain.main(DevAppServerMain.java:249)
Caused by: com.google.apphosting.utils.config.AppEngineConfigException: Invalid appengine-web.xml(/home/ubuntu/mitapp/appinventor-sources/appinventor/appengine/build/war/WEB-INF/appengine-web.xml) - Could not locate /home/ubuntu/mitapp/appinventor-sources/appinventor/appengine/build/war/WEB-INF/appengine-web.xml
	at com.google.apphosting.utils.config.EarHelper.readWebModule(EarHelper.java:195)
	at com.google.appengine.tools.development.ApplicationConfigurationManager$WarModuleConfigurationHandle.readConfiguration(ApplicationConfigurationManager.java:431)
	at com.google.appengine.tools.development.ApplicationConfigurationManager.<init>(ApplicationConfigurationManager.java:172)
	at com.google.appengine.tools.development.ApplicationConfigurationManager.newWarConfigurationManager(ApplicationConfigurationManager.java:114)
	at com.google.appengine.tools.development.ApplicationConfigurationManager.newWarConfigurationManager(ApplicationConfigurationManager.java:100)
	at com.google.appengine.tools.development.DevAppServerImpl.<init>(DevAppServerImpl.java:155)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
	at com.google.appengine.tools.development.DevAppServerFactory.doCreateDevAppServer(DevAppServerFactory.java:363)
	at com.google.appengine.tools.development.DevAppServerFactory.createDevAppServer(DevAppServerFactory.java:310)
	at com.google.appengine.tools.development.DevAppServerMain$StartAction.apply(DevAppServerMain.java:384)
	... 3 more

If anyone has faced such error or knows why I am getting this error please help.
Thanks!

Given that the error is about not finding appengine/build/war/WEB-INF/appengine-web.xml, it sounds like you did not successfully run ant beforehand.

2 Likes

At command ant MakeAuthKey
output I am getting is

Buildfile: /home/ubuntu/mitapp/appinventor-sources/appinventor/build.xml

MakeAuthKey:

init:

CheckAuthKey:

MakeAuthKey:

BUILD SUCCESSFUL
Total time: 0 seconds

But still I am getting same error

You only ever need to run ant MakeAuthKey once, but to build the whole system you need to run ant.

1 Like

With ant the error is

Buildfile: /home/ubuntu/mitapp/appinventor-sources/appinventor/build.xml

all:

init:

MakeWarLibsDir:

common_CommonUtils:

init:

CommonUtils:

common_CommonVersion:

init:

CommonVersion:

components_CommonConstants:

init:

CommonConstants:

WarLibs:

AiSharedLib:

AiServerLib:

components_AndroidRuntime:

common_CommonVersion:

init:

CommonVersion:

init:

HtmlEntities:

Barcode:

CopyComponentLibraries:

common_CommonUtils:

init:

CommonUtils:

CommonConstants:

AnnotationProcessors:

AndroidRuntime.uptodate:

AndroidRuntime:

AiClientLib:

AiRebindLib:

blocklyeditor_BlocklyTranslationGenerator:

CheckBlocklyTranslations:

init:

CheckBlocklyCompile:

BlocklyCompile:
     [java] Exception in thread "main" java.lang.IllegalArgumentException: File not found at: /home/ubuntu/mitapp/appinventor-sources/appinventor/blocklyeditor/../lib/closure-library/closure/goog
     [java] 	at com.google.common.base.Preconditions.checkArgument(Preconditions.java:88)
     [java] 	at org.plovr.Manifest.getInputs(Manifest.java:393)
     [java] 	at org.plovr.Manifest.getFiles(Manifest.java:369)
     [java] 	at org.plovr.Manifest.getFiles(Manifest.java:363)
     [java] 	at org.plovr.Manifest.getAllDependencies(Manifest.java:324)
     [java] 	at org.plovr.Manifest.getInputsInCompilationOrder(Manifest.java:193)
     [java] 	at org.plovr.Manifest.getCompilerArguments(Manifest.java:177)
     [java] 	at org.plovr.CompileRequestHandler.compile(CompileRequestHandler.java:94)
     [java] 	at org.plovr.cli.BuildCommand.runCommandWithOptions(BuildCommand.java:58)
     [java] 	at org.plovr.cli.BuildCommand.runCommandWithOptions(BuildCommand.java:31)
     [java] 	at org.plovr.cli.AbstractCommandRunner.runCommand(AbstractCommandRunner.java:41)
     [java] 	at org.plovr.cli.Command.execute(Command.java:47)
     [java] 	at org.plovr.cli.Main.mainWithExitCode(Main.java:56)
     [java] 	at org.plovr.cli.Main.main(Main.java:30)

BUILD FAILED
/home/ubuntu/mitapp/appinventor-sources/appinventor/build.xml:16: The following error occurred while executing this line:
/home/ubuntu/mitapp/appinventor-sources/appinventor/build-common.xml:301: The following error occurred while executing this line:
/home/ubuntu/mitapp/appinventor-sources/appinventor/blocklyeditor/build.xml:120: Java returned: 1


I check for error in line 120 - appinventor-sources/appinventor/blocklyeditor/build.xml but I don't know why we are getting this error.

That error indicates that you did not run git submodule update --init to load the additional dependencies needed to compile App Inventor.

1 Like

Thanks @ewpatton now I can successfully run the application locally. I ran the git submodule command in the incorrect directory hence it did not load the needed dependencies.

When I was starting the builder, I was getting this error. How to solve it?

Please Help Me To Solve This Problem :pray:

Inadvance Thanks You :sparkling_heart:

Hello Everyone,

I have followed all the steps, but I don't see any content on the localhost page.

Would be great if someone could help me with this.

are you sure you got the build successful prompt?

and any error message at this windown?

and any error at browser console panel?

1 Like

I don't have any error messages.

These are the two that are running

I have had errors with the ant noplay command.

Could that be the one that is causing the problem?

I have ignored those errors as it was mentioned as that it was optional

Please post the logs of the ant no play command too.