INFO: current manifest file name:C:\Users\joe\AppData\Local\Temp\ai4a\appinventor.ai_joe.test.xml
"I would guess the environment variable 'tmp' would work. I do not know if it works everywhere."I will do a few tests on a few computers but the really test will come when others use.
"It's the ai4a Personal Server. If you put a pointer tohmmmthe Sourceforge page or here or ?folks can find the server."There is a help button on the software which open my website. On the website there will be a page with a pile of tutorials and instruction on how to use the software and a link to get the ai4a personal server.
Since January I've done a number of sample apps and at the moment they are spread among posts I've made and answer in different forums in the google groups. I intend to add a few pages on my site dedicated to App inventor with my sample AI projects along with a bunch of other AI related resource and links. The rest of the website will be to do with other projects I am working on such as Robotics, Software development Hardware development, Raspberry pi and future ideas I have for projects I plan to work on. (I already have a website but am revamping it with all the AI stuff. Hope to have this done in the next few weeks.)
"The environment variable JAVA_HOME is something a user has to set. It can be wrong. I was not happy that I used it, but picked it because it is a documented variable and we can get it set correctly."It maybe able possible to do within my Software quite easily. Saying that I never actually tried setting environment variables in VB.net but I thing the vbcode is something like Environment.SetEnvironmentVariable("JAVA_HOME","C:\Program Files\Java\jdk1.6.0_24") . What could happen is that when the software is started it checks the enviroment variable JAVA_HOME if it doesn't exist or is set incorrectly the software will display a message asking if the JAVA_HOME want to be ste automatically. What do you think?
"Let me know where I should add pointers to your stuff"My current(old) site is www.themadrobot.talktalk.net which I started last January while trying to learn a bit of HTML and Javascript but never ended up completely finishing it. I will be merging that site into my new site over the next few weeks hopefully.
Hi Gary
- save your setting so the next time you publish the same APK the setting will be used in the manifest.
That is how the manifest code works in ai4a? You do not have to do anything to get that, it's already there. Once you put a new manifest in, the buildserver uses it every time.The way I got my software working is so that it pops up when is not actually to use the ai4a folder in the temp folder it waits for the Androidmanifest.XML file to be generated then the software popups up on the screen. The reason I did it this way was it was a lot easier for me to control within my software. With the save feature, I know you can mod the ai4a manifest file but as I am not using that it's easier for me to just save the setting made in my software.
I suggest you tell people they do not need to use ai4a, they can use MIT's server and when they want an apk with the new manifest, just run the buildserver with the source zip for the project.Absolutely. The way I have been using it is having my software running all the time while the ai4a personal server is running then I publish the APK file from the App Inventor interface. Maybe something I could do is package the buildserver with my software that way it would be a one click install build server and my software all in one. The way this would work in my software is you download the source zip file from MIT then in a pull down menu would all you to select the file and would automatically build the APK file.To do this what files would I need?Would I need to just package the BuildServer directory on the ai4a personal server as shown below?Would I need to also package the appengine-java-sdk-1.7.4 directory aswell?Would I need to check the JAVA_HOME is set in the enviroment variable or is this just needed for the AppEngine directory?Would I need to check that Java is installed on the computer?So many question and I don't know the answers (Hee hee. I just drive the car don't know how the engine works)
I would like to do this as it will open up the software to people who don't necessarily want to have App inventor running locally.
When I want my app to be available for Google TV, I add this line<uses-feature android:name="android.hardware.touchscreen" android:required="false"/>I have played with the <uses-sdk> element. App Inventor sets android:minSdkVersion=3 which is sorta ok. It is why you have to have the <supports-screens> element. I use android:targetSdkVersion=17 or whatever I have tested to. Setting it to 11 lets you use Holo and disables the screen compatibility tests. You may have to look at your resizeable and anyDensity if you do start messing with that.Things I didn't know. Will look ito these thanks for the info.
One thing I forgot to answer from your previous post"The source code shows debug is not turned on any more"There is a feature in the software to turn debugging on and off as shown below
On Friday, 15 March 2013 20:47:15 UTC, Gareth Haylings wrote:"Why is it a lot easier?"The way my software works is it search for with the name AndroidManifest.xml anywhere in the Temp directory. When it is detect it automatically reads this into the software and does any changes to it direct into the file. If I try to use the file in the ai4a folder I will need to pick the correct one which would be quite a bit more coding.
"What will it do if someone is using the built in way to modify the manifest and your software is running?"I haven't used the built in way other than just once when you first added but if I am right in my think it should still work as the one in the ai4a folder get copied in the the build folder as AndroidManifest.XML so this should work just fine.
"I can package BuildServer/lib so it is one Java file that they can run."Amazing stuff if you can do this. :-)If you can do this I can package the file/files with my software so that everything work and install seemlessly.Would the user still need to install the Java SDK or would this all be part of the BuildServer/lib file you are talking about.
"I may be able to come up with other things.We are collecting what would be useful in the manifest to pass on to MIT. More input, more input!!!"Absolutely. The more that can be done may convince MIT to add some of the Manifest feature to the next version of App inventor.
from the source
"What will it do if someone is using the built in way to modify the manifest and your software is running?"
I haven't used the built in way other than just once when you first added but if I am right in my think it should still work as the one in the ai4a folder get copied in the the build folder as AndroidManifest.XML so this should work just fine.
"I can package BuildServer/lib so it is one Java file that they can run."Amazing stuff if you can do this. :-)If you can do this I can package the file/files with my software so that everything work and install seemlessly.Would the user still need to install the Java SDK or would this all be part of the BuildServer/lib file you are talking about.
from the source// TODO(markf): The preparing to publish doc at// http://developer.android.com/guide/publishing/preparing.html suggests removing the// 'debuggable=true' but I'm not sure that our users would want that while they're still// testing their packaged apps. Maybe we should make that an option, somehow.// TODONE(jis): Turned off debuggable. No one really uses it and it represents a security// risk for App Inventor App end-users.out.write("android:debuggable=\"false\" ");Good point.The reason I added the ability to turn on and of debugging was because I needed to see what was going on when using Log Cat. This is really an advanced feature and most people only want to change the App label, Get rid of the titlebar and improve the graphics to support larger screens and a few other things. They don't really want to see or know how the manifest works.
What I am going do is add an advance tickbox which will toggle between displaying and hiding advance options. (As default the tickbox won't be ticked) When the tickbox is ticked the a panel will come into view showing the manifest file so it can be edited manually and other advanced option like the debug tickbox option in the software."What will it do if someone is using the built in way to modify the manifest and your software is running?"I haven't used the built in way other than just once when you first added but if I am right in my think it should still work as the one in the ai4a folder get copied in the the build folder as AndroidManifest.XML so this should work just fine.Probably. But I do not know.If someone reports it doesn't work I will look into away of adding an option in my software to override and use the ai4a manifest instead. There lots of ways I could do this and making the user can pick the manifest file they would like to use. I would add this to the advance options panel if we find its needed.
"I can package BuildServer/lib so it is one Java file that they can run."Amazing stuff if you can do this. :-)If you can do this I can package the file/files with my software so that everything work and install seemlessly.Would the user still need to install the Java SDK or would this all be part of the BuildServer/lib file you are talking about.They still have to have the Java SDK and the zipalign tool.
Would it be possible if the user didn't need to have Java SDK installed?
Maybe just have the necessary files like zipalign and javasign (and any other files) included with the Buildserver package? If this is possible am I correct in saying that the JAVA_HOME would not to be set?
What I would like be able to do have is make one click install process, instead of the user having to install my software then having to downloading the Java SDK and install that seperately and then the user needs to set the environment variable JAVA_HOME. I'd really like to make the installation process as simple and smooth as possible, that way it's less of a support nightmare with people asking the same question over and over again Such as: "Where do I get Java SDK from?" and "How do I set the JAVA_HOME?". Hopefully questions like that would be eradicated.
I spent a lot of time looking at ways to have the jarsigner standalone. There may be a way and I was blind but as far as I could tell you need the Java JDK to get the jarsigner to run.There must be a way to do it as apptomarket seems to be able to sign the app and you don't need to install anything with it. I looked in the directory with Apptomarket and zipalign.exe and Javasign.exe is include. It might worth looking how this works.
......
I read your doc (translated with Google translate). You mention issues with the keystore. You should be able to get a keystore from MIT and replaces the one the ai4a version uses. Let me know if you get it working.The keystore is another thing I will upgrade to developer level - some day.
Here is the post that tells how to edit the manifest.more or less, follow the instructions here, the post has an edit error or twoIt's set up so you can use the MIT server or the ai4a server to build. When you are ready to edit the manifest, you set up a file in the temp folder with the name of the projectC:\Users\<youruser>\AppData\Local\Temp\appinventor.ai_<yourEmail>.<theProject>.xmlThat is an example for Windows 7. You can set it up for another OS by replacing C:\Users\<youruser>\AppData\Local\Temp with the folder your OS puts your tmp files into.The file signals the buildserver to replace the file with a copy of the manifest it generates when it runs. Open the file and edit it. Then save it to another file namedC:\Users\<youruser>\AppData\Local\Temp\appinventor.ai_<yourEmail>.<theProject>.AndroidManifest.xmland run the buildserver again. It will pick up the modified manifest and generate an .apk using the modified manifest.Gary
You dont need to do all that. Just exclude the functions in your manifest that tablets might not use.