Android Installation

Yuki MIZUNO edited this page Feb 3, 2017 · 3 revisions

The problem

Kodi for Android error

In some cases, Kodi for android installs add-ons into $EXTERNAL_STORAGE and external storage is mounted with non-executable option. If the PVR add-on is placed on non-executable device, Kodi can't load the add-on.

So, you should place Harekaze for Kodi(pvr.chinachu) add-on in specific location.

For rooted devices

First, install Harekaze for Kodi(pvr.chinachu) to Kodi from zip file. (See README.md)

Enter the adb shell and execute as root:

mv $EXTERNAL_STORAGE/Android/data/org.xbmc.kodi/files/.kodi/addons/pvr.chinachu/libpvr.chinachu.so $ANDROID_DATA/app/org.xbmc.kodi-1/lib/arm/
chmod 755 $ANDROID_DATA/app/org.xbmc.kodi-1/lib/arm/libpvr.chinachu.so
chown system:system $ANDROID_DATA/app/org.xbmc.kodi-1/lib/arm/libpvr.chinachu.so

Then, force restart Kodi

For non-rooted devices.

Kodi releases apk files on the web site officially. You can inject Harekaze for Kodi(pvr.chinachu) into the file, and then you can install it.

NOTE: Some android-platform-tools are required. e.g. brew install android-platform-tools

Steps

0. Build add-on

ndk-build APP_ABI=armeabi-v7a

1. Create simple signing key

KEYSTORE=foobar.keystore # rename me
ALIAS=fizzbuzz # rename me
PASSWORD="qwertyuiop" # change me

keytool -genkey -v -keystore $KEYSTORE -alias $ALIAS -noprompt -keyalg RSA \
    -keysize 2048 -validity 20000 -keypass $PASSWORD -storepass $PASSWORD \
    -dname "cn=$RANDOM, ou=$RANDOM, o=$RANDOM, c=US"

2. Create custom apk

APKURL="http://mirrors.kodi.tv/releases/android/arm/kodi-17.0-Krypton-armeabi-v7a.apk"

FILENAME="${APKURL##*/}"

set -eux
WORKDIR=$(mktemp -d)
cp -r libs $WORKDIR/lib
cp -r template $WORKDIR/addons
cp ChangeLog.txt $WORKDIR/addons/pvr.chinachu/
cp LICENSE $WORKDIR/addons/pvr.chinachu/
cd $WORKDIR
mkdir assets
mv addons assets/

curl -OL $APKURL
zip $FILENAME -d META-INF/*
zip -r $FILENAME lib -i *.so
zip -r $FILENAME assets/addons
cp $FILENAME "$OLDPWD"

3. Sign

jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore $KEYSTORE \
    -storepass $PASSWORD $FILENAME $ALIAS

4. Install

adb install -r $FILENAME