Friday 30 September 2011

Missing post...

All the links to the first guide in my last post seem to be broken... I include here for reference and will hopefully update and convert to a linux specific guide. I also remember having to bump up the validity time too.



Amministratore L'avatar di ciso
[How To] Publish the app created with App Inventor in the Android Market

    Publish the app created with App Inventor in the Android Market

    We succeded and the guide should be final.

    What I'm about to describe is created to overcome the impossibility of publishing apps created with App Inventor in the Android Market

    What you need:

        1.6 Java Development Kit and Runtime Environment 1.6 already installed on your PC
        Android SDK already installed and running
        Appinventor Extras
        APKTool
        Auto-Sign 6.5
        .... A lot of Patience

    1) Creating the key

    This procedure is a one-off and we don't need to do those steps every time.

    So, thanks to the JAVA SDK we will create a private key, which will be used for publishing our applications

    From the Bin folder of the Java SDK we'll execute in a terminal:

codice:
keytool.exe -genkey -v -keystore my-release-key.keystore -alias aliasname -keyalg RSA -keysize 2048 -validity 10000

The Market requires that applications need to publish the private key has a duration subsequent to October 22, 2033, so we'll use a validity of 10000 days (over 27 years!).

2) Customize the Icon of the application

Download the APK file on a local folder on your computer.

We'll use AutoSigner for those steps: (thanks to Marcor Online info@marcoronline.tk for this part).
Open the apk file with 7zip.
Delete META-INF folder (which is the folder where the application contains the certificates, no longer valid after the change).
The images are generally stored in the folder res\drawable, and in particular the icon of the program is called ya.png. Extract all the images you want with your favorite software (we use 7zip).
Be careful not to change the size in pixels and not to change the name and extension.
Once you have completed the changes you go to put the files again into the apk (using 7zip) by simply dragging and overwriting the original.
Close 7zip and rename your program Launcher.apk.
Extract the contents of the Auto-Sign v0.65.exe and copy the Launcher.apk file inside the folder Auto-Sign\update\app.
Run the tool by the Auto-Sign v0.65.exe executable and iselect from the drop down menù Launcher.apk. (The name should been green. If not, you've made something wrong.)
Now click on Autosign and in a few seconds you'll get a confirmation message.
Inside the folder Auto-Sign\update\app will be a Launcher_signed.apk. You can delete the old file and keep only the signed one.

3) Edit the APK to be compatible with the Market

Decompile our apk

codice:
apktool -s pre-nomeapk.apk

in the just created folder called pre-nomeapk, go editing the AndroidManifest.xml file.

First we add the version of the application by adding the keyword "android: versionCode" and "android: versionName" in the keyword "package", just like this example:

codice:
<? xml version = "1.0" encoding = "UTF-8"?>
<manifest xmlns: android = "http://schemas.android.com/apk/res/android"
package = "appinventor.xyz.xyz"
android:versionCode = "1"
android:versionName = "1.0">

Specify the minimum version of Android is needed to run the application. Beware that the Market has a bug at the moment, and does not support applications compiled for Froyo android 2.2. Consider the following table:

codice:
API Level -> Android Platform Version
1 -> 1.0
2 -> 1.1
3 -> 1.5
4 -> 1.6
5 -> 2.0
6 -> 2.0.1
7 -> 2.1
8 -> 2.2

If your application needs Eclair we enter the following keyword:
codice:
<uses-sdk android:minSdkVersion="7" />

Finally fix the last things needed to make compatible the apk to the Market

Remove the android:icon keyworld on this line:

codice:
<activity android:label="123" android:icon="@drawable/ya" android:name=".Screen1">

and add it in this line:

codice:
<application android:label="XXXXX" android:debuggable="true">

Also on the line relative to the "application", remove the key "android_: debuggable"

In the end the AndroidManifest.xml will result like this:

codice:
<? xml version = "1.0" encoding = "UTF-8"?>
<manifest xmlns: android = "http://schemas.android.com/apk/res/android"
package = "appinventor.xyz.xyz"
android:versionCode = "1"
android:versionName = "1.0">
<uses-sdk android:minSdkVersion="3" />
......
<application android:label="XXXX" android:icon="@drawable/ya">
<activity android:label="123" android:name=".Screen1">
....
</activity>
</application>
</manifest>

Now compile the apk again:
codice:

apktool b pre-nomeapk

With 7zip open the apk and remove the file in the META-INF folder like:

codice:
ANDROIDK.SF
ANDROIDK.RSA





Getting App inventor programs prepared for the market - 100% on ubuntu - The essential resources.

 Ok so here are the four pages that made it all possible ... one or two may be superfluous as it took me ages to realize that app inventor also has an installable package required for ubuntu (maybe if i wrote this the first time I wouldn't have forgotten :\).

First for preliminary reading go through this post (which seems to be broken at the moment), and just try to follow these four simple rules of thumb:
1. Try to imagine that he never says "windows".
2. Try to imagine all the ".bat" and ".exe" extensions are missing.
3. Don't assume you have all the tools (see apktool below for example)
4. Assume that the commands will need tweaking (hence the 'tips' and 'tweaks' link)

Also check out this one, there are some sensible tips and tweaks in there.

Get the apktool here.

Perform manual signing using this technique.

Thursday 29 September 2011

My real first post

So I'm starting a blog about Android development, last night I had a particularly intriguing battle with app inventor and the Android market, but I'll get to that later :D

Here's a brief summary of my life so far in bullet point form:

-started with a g1, or as us Aussies call it: the dream...and I still dream about that awesome flip out keyboard.
-did all the tutorials and stuff, did the nehe open gl tutorials, and... Never really got anything to a publishable state.
-did a few app inventor projects when it first came out, they languished in obscurity until now.
-upgraded to the desire.
-started porting 3D chess to Android.
-started releasing live wallpapers to Android market.
-got the 3D chess project running in a proof-of-code sort of way and haven't worked much on it recently.
-upgraded to Telstra t-touch (or to the rest of the world: the ideos w8)... Damn you for not releasing honeycomb google.
-experimentally added add mob adds to one of my apps.
-topped over 1000 users for my live wallpapers with majority good reviews but very few comments.
-add mob revenue still a good 10c short of a dollar... Plenty of impressions, so they are bring seen but not used... Fair enough.
-started exporting app inventor apps to the Android marketplace... Hell of a night :P
-started blogging about it.

First post

Lost my "last" first post... Testing if it's working