update build instructions

John Grub 2014-06-10 12:45:25 -07:00
parent 6516780fa4
commit 16914b7974
1 changed files with 25 additions and 21 deletions

@ -8,32 +8,36 @@ You need a complete android development environment ready to develop native apps
Use Google to figure out how to install all that. Everything in this page happens in a Cygwin shell and in Eclipse. Use Google to figure out how to install all that. Everything in this page happens in a Cygwin shell and in Eclipse.
Make sure you set NDK_ROOT to the path to your NDK and add that to your PATH in the Cygwin shell. For example, edit your .bashrc to add these lines: Make sure you set NDK_ROOT to the path to your NDK and add that to your PATH in the Cygwin shell. For example, edit your .bashrc to add these lines:
```bash
export NDK_ROOT=/cygdrive/d/Dev/Libs/Android/android-ndk-r8e export NDK_ROOT=/cygdrive/d/Dev/Libs/Android/android-ndk-r8e
export PATH=$NDK_ROOT:$PATH export PATH=$NDK_ROOT:$PATH
```
### Building libretro cores ### Building libretro cores
```bash
git clone https://github.com/libretro/libretro-super.git git clone https://github.com/libretro/libretro-super.git
cd libretro-super cd libretro-super
./libretro-fetch.sh # can fail on fork() calls, repeat until all are up to date ./libretro-fetch.sh # can fail on fork() calls, repeat until all are up to date
./libretro-build-android-mk.sh # some cores may fail to compile (g++ "Argument list too long" error) ./libretro-build-android-mk.sh # some cores may fail to compile (g++ "Argument list too long" error)
# see https://github.com/libretro/libretro-super/issues/10 # see https://github.com/libretro/libretro-super/issues/10
```
### Building RetroArch ### Building RetroArch
The RetroArch repo is fetched into the libretro-super folder as retroarch by `./libretro-fetch.sh` above.
```bash
cd retroarch/android/native
ndk-build clean APP_ABI="armeabi-v7a mips x86"
ndk-build APP_ABI="armeabi-v7a mips x86" APP_PLATFORM=android-17 # build native libs
cd ../phoenix
cp -R ../native/libs/* libs # copy native libs
cp -R ../../../dist/android/* libs # copy libretro cores
```
git clone https://github.com/libretro/RetroArch.git When you need to rebuild the native code, run this from retroarch/android/native:
cd RetroArch/android/native ```bash
ndk-build clean; ndk-build # build native libs ndk-build APP_ABI="armeabi-v7a mips x86" APP_PLATFORM=android-17
cd ../phoenix cp -R -f libs/* ../phoenix/libs
mkdir libs ```
cp -R ../native/libs/* libs # copy native libs
cp -R ../../../libretro-super/dist/android/* libs # copy libretro cores
cp -R ../../media/overlays/ assets/ # copy overlays
When you need to rebuild the native code, run this from RetroArch/android/native:
ndk-build; /bin/cp -R -f libs/* ../phoenix/libs
In Eclipse, set your workspace root to .../RetroArch/android. Then do "Import... - General - Existing Projects into Workspace" to get the native and phoenix projects in your workspace. I also copied the project.properties from phoenix to native, and created a src directory in native, to stop Eclipse from complaining, but that may just be because I'm using a really old version. In Eclipse, set your workspace root to .../RetroArch/android. Then do "Import... - General - Existing Projects into Workspace" to get the native and phoenix projects in your workspace. I also copied the project.properties from phoenix to native, and created a src directory in native, to stop Eclipse from complaining, but that may just be because I'm using a really old version.