Solved xbmc-depends/x86_64-linux-gnu-native/bin/cmake: not found
#1
Hi!
I'm trying to compile Kodi myself in order to get proper resolution.
I've started from here 369094 (thread)

just simply changed two lines here https://github.com/xbmc/xbmc/blob/e0520c...s.cpp#L154
I want to get sys.displaysize over modes's
m_width = res.iWidth; -> m_width = 0;
m_height = res.iHeight; -> m_height = 0;


- Used Ubuntu 22.04.1 LTS (WSL Windows 10 x64)
- sdk commandlinetools latest
- ndk r21e
- master git
- arm(v7) android

And I followed steps from docs but kept getting errors.
Quote:pi@Main-PC:~/kodi$ sudo make -C tools/depends/target/cmakebuildsys
make: Entering directory '/home/pi/kodi/tools/depends/target/cmakebuildsys'
mkdir -p /home/pi/kodi/build
cd /home/pi/kodi/build; /home/pi/android-tools/xbmc-depends/x86_64-linux-gnu-native/bin/cmake -DCMAKE_TOOLCHAIN_FILE=/home/pi/android-tools/xbmc-depends/arm-linux-androideabi-21-debug/share/Toolchain.cmake -DCMAKE_INSTALL_PREFIX=/home/pi/android-tools/xbmc-depends/arm-linux-androideabi-21-debug -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Debug  -DENABLE_INTERNAL_CROSSGUID=ON -DENABLE_INTERNAL_FFMPEG=OFF  /home/pi/kodi
/bin/sh: 1: /home/pi/android-tools/xbmc-depends/x86_64-linux-gnu-native/bin/cmake: not found
make: *** [Makefile:45: all] Error 127
make: Leaving directory '/home/pi/kodi/tools/depends/target/cmakebuildsys'

Config.log - Pastebin.com
make -j - Pastebin.com This might not be a full log, I'm figuring out how to get logs on Ubuntu. Sad

Repeated few times with clean start but got the same errors.
I have no "cmake" in "x86_64-linux-gnu-native\bin" directory
Reply
#2
You have to follow the how to completely. In particular, you have to build depends first
Reply
#3
I followed the every build process as docs explained. I didn't skip any of them.

5. Build tools and dependencies

cd $HOME/kodi/tools/depends
./bootstrap
./configure --with-tarballs=$HOME/android-tools/xbmc-tarballs --host=arm-linux-androideabi --with-sdk-path=$HOME/android-tools/android-sdk-linux --with-ndk-path=$HOME/android-tools/android-ndk-r21e --prefix=$HOME/android-tools/xbmc-depends
make -j$(getconf _NPROCESSORS_ONLN)

6.

cd $HOME/kodi
make -j$(getconf _NPROCESSORS_ONLN) -C tools/depends/target/binary-addons

7 - finnaly at 7th where my progress stopped

cd $HOME/kodi make -
C tools/depends/target/cmakebuildsys <-
xbmc-depends/x86_64-linux-gnu-native/bin/cmake: not found
Reply
#4
Thread marked solved.
Reply
#5
This is my solution tested on the third of September, 2022 (2022.09.03).

My environment:

Ubuntu 22.04 (x64)
Open-JDK 11 (Default Java jdk)
for Android Arm v7 Apps

carefully compare steps with this
xbmc/README.Android.md at master · xbmc/xbmc (github.com)

2. Install the required packages

set java_home !!!! You can't go to the next step without setting java_home.

3.1
mkdir -p $HOME/android-tools/android-sdk-linux
unzip $HOME/Downloads/commandlinetools-linux.zip -d $HOME/android-tools/android-sdk-linux/

unzip $HOME/Downloads/android-ndk-r21e-linux.zip -d $HOME/android-tools


mkdir ~/.android

keytool -genkey -keystore ~/.android/debug.keystore -v -alias androiddebugkey -dname "CN=Android Debug,O=Android,C=US" -keypass android -storepass android -keyalg RSA -keysize 2048 -validity 10000


3.2
cd $HOME/android-tools/android-sdk-linux/cmdline-tools/bin
./sdkmanager --sdk_root=$(pwd)/../.. --licenses
./sdkmanager --sdk_root=$(pwd)/../.. platform-tools
./sdkmanager --sdk_root=$(pwd)/../.. "platforms;android-28"
./sdkmanager --sdk_root=$(pwd)/../.. "build-tools;28.0.3"


4. git clone

5. 

cd $HOME/kodi/tools/depends
./bootstrap

./configure --with-tarballs=$HOME/android-tools/xbmc-tarballs --host=arm-linux-androideabi --with-sdk-path=$HOME/android-tools/android-sdk-linux --with-ndk-path=$HOME/android-tools/android-ndk-r21e --prefix=$HOME/android-tools/xbmc-depends

make -j$(getconf _NPROCESSORS_ONLN)


6.

Skip this step if you don't need to Build binary add-ons

7.

mkdir $HOME/kodi-build
cd $HOME/kodi
make -C tools/depends/target/cmakebuildsys BUILD_DIR=$HOME/kodi-build
cd $HOME/kodi-build

make -j$(getconf _NPROCESSORS_ONLN)

8. 
make apk

9. ADB
adb connect 
adb -e install -r $HOME/kodi/kodiapp-armeabi-v7a-debug.apk


if you still failed, I have no clue.
Reply
#6
Hi all, anyone still around who can successfully build x86_64 version of Kodi?
Reply
#7
V20 and master both build x86_64 android fine with no issues. No idea why you would want it, but it does work
Reply
#8
I need to build this for my car which runs Android Automotive OS. As the car has no USB debugging, no developer mode and no way to install APKs, I need to build the apps on my own as AAB and push them via my google play developer console to the car.
When creating a new app in the google play console, it must be x86_64, x86 is not supported anymore. https://github.com/flutter/flutter/issues/32191

Do you know if I can build an X86_64 version as AAB file (package id will be changed) to push it to google play console as internal release (just for me and few other AAOS car drivers Wink)
Reply
#9
We don't currently support building an aab.
Reply
#10
Too bad, please let me know when this will change , or when you are going to release Kodi in the AAOS Google Play Store Smile
Reply
#11
(2022-09-10, 01:05)ppongoo Wrote: This is my solution tested on the third of September, 2022 (2022.09.03).

My environment:

Ubuntu 22.04 (x64)
Open-JDK 11 (Default Java jdk)
for Android Arm v7 Apps

carefully compare steps with this
xbmc/README.Android.md at master · xbmc/xbmc (github.com)

2. Install the required packages

set java_home !!!! You can't go to the next step without setting java_home.

3.1
mkdir -p $HOME/android-tools/android-sdk-linux
unzip $HOME/Downloads/commandlinetools-linux.zip -d $HOME/android-tools/android-sdk-linux/

unzip $HOME/Downloads/android-ndk-r21e-linux.zip -d $HOME/android-tools


mkdir ~/.android

keytool -genkey -keystore ~/.android/debug.keystore -v -alias androiddebugkey -dname "CN=Android Debug,O=Android,C=US" -keypass android -storepass android -keyalg RSA -keysize 2048 -validity 10000


3.2
cd $HOME/android-tools/android-sdk-linux/cmdline-tools/bin
./sdkmanager --sdk_root=$(pwd)/../.. --licenses
./sdkmanager --sdk_root=$(pwd)/../.. platform-tools
./sdkmanager --sdk_root=$(pwd)/../.. "platforms;android-28"
./sdkmanager --sdk_root=$(pwd)/../.. "build-tools;28.0.3"


4. git clone

5. 

cd $HOME/kodi/tools/depends
./bootstrap

./configure --with-tarballs=$HOME/android-tools/xbmc-tarballs --host=arm-linux-androideabi --with-sdk-path=$HOME/android-tools/android-sdk-linux --with-ndk-path=$HOME/android-tools/android-ndk-r21e --prefix=$HOME/android-tools/xbmc-depends

make -j$(getconf _NPROCESSORS_ONLN)


6.

Skip this step if you don't need to Build binary add-ons

7.

mkdir $HOME/kodi-build
cd $HOME/kodi
make -C tools/depends/target/cmakebuildsys BUILD_DIR=$HOME/kodi-build
cd $HOME/kodi-build

make -j$(getconf _NPROCESSORS_ONLN)

8. 
make apk

9. ADB
adb connect 
adb -e install -r $HOME/kodi/kodiapp-armeabi-v7a-debug.apk


if you still failed, I have no clue.
You're a life saver.
question - after creating the apk with "make apk" - does it comes signed already? or I need to sign somehow?
will the apk can then installed on any device?

second question, after I create and apk for 32 android version, how can I do the same for 64 bit version? any changes in the instructions?
Reply
#12
The apk is not signed unless you provide what's required. With that said, you do not need to sign an apk to sideload on android.

Regarding aarch64, you will need to change your -host in the configure command (step 5). Look for
Configure build for aarch64:
In the build docs, step 5. Then build the dependencies.
Then make a different build dir for step 7, and run the rest of those commands again.
Reply
#13
(2023-02-03, 07:34)Fuzzard Wrote: The apk is not signed unless you provide what's required. With that said, you do not need to sign an apk to sideload on android.

Regarding aarch64, you will need to change your -host in the configure command (step 5). Look for
Configure build for aarch64:
In the build docs, step 5. Then build the dependencies.
Then make a different build dir for step 7, and run the rest of those commands again.
about building 64bit apk - I see, thanks.

2 more questions:
1. About signing the apk - after building it will 100% sideload on any android / android tv device?
Because when taking a ready Kodi 20.0 apk, decompiling with apk editor, and compiling new apk, I know that you do have to sign the new apk, otherwise sideloading on android won't work. (I tried it and got error that I can't install, after signing it worked)

3. What step 6: "Build binary add-ons" means? do I need to build all binary add-ons or just skip it? I'm not sure what is this.


Thanks!
Reply
#14
The only binary add-on that is built from a regular release is peripheral.joystick. other binary add-ons for android can be installed from repo.

As for your first question, no idea sorry. Maybe you do need a key. If so, follow the instructions in the docs
Reply
#15
(2023-02-03, 08:15)Fuzzard Wrote: The only binary add-on that is built from a regular release is peripheral.joystick. other binary add-ons for android can be installed from repo.

As for your first question, no idea sorry. Maybe you do need a key. If so, follow the instructions in the docs

Is compiling the binary add-ons necessary for android / android tv 32/64 bit apk devices?
I didn't quite understand what it means : (


And second question, I've managed to create APK now. but I see that the Kodi version is 21 (the code is cloned from github branch master), how can I choose to make an APK of latest public release 20.0?
Reply

Logout Mark Read Team Forum Stats Members Help
xbmc-depends/x86_64-linux-gnu-native/bin/cmake: not found0