[Android Stick & Console Computers General] Area51©:
When using ARLiberator on a HDMI stick to connect to an AppRadio it seems to work however there's an issue that only half of the screen can be reached. Which makes it pretty useless even though it seems a small problem and indeed it was. I have developed a fix for it that involves modifying the APK of the ARLiberator 3.01 version.

The steps are as following:

1) Get apktool

- Goto https://code.google.com/p/android-apktool/downloads/list

- Download apktool1.5.2.tar.bz2

- Download apktool-install-windows-r05-ibot.tar.bz2

- Unpack both files in a directory like c:\apktool so it will look like this

aapt.exe

apktool.bat

apktool.jar

2) Get Java JDK 7u25

- Goto //www.oracle.com/technetwork/java/javase/downloads/index.html

- Click on Java Platform (JDK) 7u25

- Click on jdk-7u25-windows-i586.exe if you have a 32bits system

- Click on jdk-7u25-windows-x64.exe if you have a 64bits system

- Save file and install it.

- Add C:\Program Files\Java\jdk1.7.0_25\bin to your path variable.

3) Open command line in c:\apktool

C:\Apktool>java -version

java version "1.7.0_25"

Java(TM) SE Runtime Environment (build 1.7.0_25-b17)

Java HotSpot(TM) Client VM (build 23.25-b01, mixed mode, sharing)

4) Copy your 3.01 apk file to c:\apktool in my case called com.kyle.arliberator-a49f58a925d99a41afeb9a36d472b806.apk

5) Decompile

C:\Apktool>apktool d com.kyle.arliberator-a49f58a925d99a41afeb9a36d472b806.apk 301

I: Baksmaling...

I: Loading resource table...

I: Loaded.

I: Decoding AndroidManifest.xml with resources...

I: Loading resource table from file: C:\Documents and Settings\Ruud\apktool\framework\1.apk

I: Loaded.

I: Regular manifest package...

I: Decoding file-resources...

I: Decoding values */* XMLs...

I: Done.

I: Copying assets and libs...

6) Fix files

Open file C:\Apktool\301\smali\com\kyle\arliberator\TouchHandler.smali

Goto line 72. "if-le v0, v1, :cond_0"

Change it to "goto :cond_0"

Open file C:\Apktool\301\smali\com\kyle\arliberator\KillNanny.smali

Goto line 807. "0x1e1cf -> :sswitch_1"

Change it to "0x1e1cf -> :sswitch_0"

7) Build apk

C:\Apktool>apktool b 301 301fixed.apk

I: Checking whether sources has changed...

I: Smaling...

I: Checking whether resources has changed...

I: Building resources...

I: Copying libs...

I: Building apk file...

8) Prepare apk signing (only need to do once, values you enter don't really matter except password)

C:\Apktool>keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000

Enter keystore password: android

Re-enter new password: android

What is your first and last name?

[Unknown]: james brown

What is the name of your organizational unit?

[Unknown]: fluffy

What is the name of your organization?

[Unknown]: fluffers

What is the name of your City or Locality?

[Unknown]: amsterdam

What is the name of your State or Province?

[Unknown]: nh

What is the two-letter country code for this unit?

[Unknown]: nl

Is CN=james brown, OU=fluffy, O=fluffers, L=amsterdam, ST=nh, C=nl correct?

[no]: yes

Generating 2,048 bit RSA key pair and self-signed certificate (SHA256withRSA) with a validity of 10,000 days

for: CN=james brown, OU=fluffy, O=fluffers, L=amsterdam, ST=nh, C=nl

Enter key password for <alias_name>

(RETURN if same as keystore password):

New certificate (self-signed):

[

[

Version: V3

Subject: CN=james brown, OU=fluffy, O=fluffers, L=amsterdam, ST=nh, C=nl

Signature Algorithm: SHA256withRSA, OID = 1.2.840.113549.1.1.11

Key: Sun RSA public key, 2048 bits

modulus: 2302897498469818610507865964188619447321569256045500777798690530354475198664205066592969169321470713032681508

733306834574529850207658647514679181766691822631188140576709323607982695172198123038121197240253522055939542487047506386

716104547119098887170863849418260816385179213380928971384233871142993611611834083487249662969179258518611292988333637102

227241592334735863024515710929024071170905152943178086184336293000456783247552092347479124040297057663523558151307892056

393360874914089822140793285958124895164763575613359626849777825230884625298246269560901997927825106169042411463502008207

2538339018083911783240963349

public exponent: 65537

Validity: [From: Thu Aug 15 22:36:25 CEST 2013,

To: Mon Dec 31 21:36:25 CET 2040]

Issuer: CN=james brown, OU=fluffy, O=fluffers, L=amsterdam, ST=nh, C=nl

SerialNumber: [ 123ba4dd]

Certificate Extensions: 1

[1]: ObjectId: 2.5.29.14 Criticality=false

SubjectKeyIdentifier [

KeyIdentifier [

0000: 18 2A 06 45 87 E9 63 88 52 F7 D1 6C 38 C2 F0 CC .*.E..c.R..l8...

0010: 36 11 9A D7 6...

]

]

]

Algorithm: [SHA256withRSA]

Signature:

0000: 1E BB 4E 57 3D AF C8 51 AA 08 62 5C C9 17 ED B6 ..NW=..Q..b\....

0010: 7E 91 A7 2C 9B A2 E8 31 ED C3 92 FE 67 33 0F 08 ...,...1....g3..

0020: DD 07 51 DF 40 DD 49 B0 A3 BC 79 DE 1B DE 0A F2 ..Q [MENTION=1109350].i.[/MENTION]..y.....

0030: E6 91 50 F2 65 3C 14 4B 80 C5 D8 68 10 29 C5 3F ..P.e<.K...h.).?

0040: 3E 8F 01 AC F7 12 25 79 E3 48 80 A8 2C 94 3A 08 >.....%y.H..,.:.

0050: 0D 1F C4 17 56 39 B4 7F 8C 3A 9D 7D EB 29 22 9F ....V9...:...)".

0060: 40 7A 2A 98 CE 5A 24 79 34 AA 85 EE D7 9E DB 6D @z*..Z$y4......m

0070: 1B 50 58 E5 68 22 58 FB A5 84 15 B1 8E 17 FD E8 .PX.h"X.........

0080: 40 E2 95 7A 27 4D 0F E0 6B 45 69 E7 29 80 AB 02 @..z'M..kEi.)...

0090: 38 BB 5B AB 62 68 4B 88 12 1D 32 97 0D 15 F4 9C 8.[.bhK...2.....

00A0: BC 49 11 D1 1E C9 D1 0E 20 92 D0 DE BE C7 73 81 .I...... .....s.

00B0: 38 93 C7 53 36 FD 7E CA 76 1A 71 93 43 B1 95 5D 8..S6...v.q.C..]

00C0: 27 D6 2B 0E E2 EC 57 47 90 EB C0 4B 79 C5 2E 3A '.+...WG...Ky..:

00D0: 91 EA F4 37 B6 10 AC B1 C5 D0 81 6C 42 37 ED E8 ...7.......lB7..

00E0: 77 94 4B E6 1A 07 90 AE B1 A1 5D 24 F7 73 A5 96 w.K.......]$.s..

00F0: B1 08 58 1F 0A 14 D7 06 3A 3A 5F 28 BE 75 E1 01 ..X.....::_(.u..

]

[Storing my-release-key.keystore]

9) Sign apk file

C:\Apktool>jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my-release-key.keystore 301fixed.apk alias_name

Enter Passphrase for keystore: android

adding: META-INF/MANIFEST.MF

adding: META-INF/ALIAS_NA.SF

adding: META-INF/ALIAS_NA.RSA

signing: assets/digital7.ttf

signing: lib/armeabi/libndk1.so

signing: res/anim/dialog_enter.xml

signing: res/anim/dialog_exit.xml

signing: res/anim/fade_in.xml

..

..

signing: res/xml/appradiohome.xml

signing: res/xml/changelog.xml

signing: res/xml/settings.xml

signing: AndroidManifest.xml

signing: classes.dex

signing: resources.arsc

10) Install your new apk file and enjoy

note: Google license check is removed so it can run anywhere.

Please keep this in mind and do not spread it around.

This only works with invert xy coordinates enabled in the settings.