From a8ed339ba573e48b82d0fdda348a748e142f803d Mon Sep 17 00:00:00 2001 From: Björn Stenberg Date: Fri, 24 Sep 2010 12:03:15 +0000 Subject: Minor build script tweaks to make android auto-buildable. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28156 a1c6a512-1295-4272-9138-f99709370657 --- android/README | 20 +++++++++----------- android/android.make | 11 +++++------ tools/configure | 24 ++++++++++++++++++++---- 3 files changed, 34 insertions(+), 21 deletions(-) diff --git a/android/README b/android/README index 6c9d2ad4c6..8f0a85cabb 100644 --- a/android/README +++ b/android/README @@ -16,22 +16,20 @@ compiling the java files will fail. * Build instructions -Use this as your build folder, using '../tools/configure' etc. - $ ../tools/configure # type 200, then chose A for android and your screen resolution - $ make +1. Create a separate build folder. Do not build in this source directory. +2. Run "../tools/configure". Choose target 200, then chose 'A' for Android + and input your screen resolution. -After the build finished, build the zip file which contains codecs and themes (the binary is a separate file): - $ make zip +3. Run "make" -Once you have the zip, pack it and the binary into the apk - $ make apk +4. Run "make zip". This has to be run the first time, and any time themes + or plugins have changed. Otherwise you may skip it. -Side note: You don't necessarily need to recreate the zip once you have it, only if you're unsure or if you know its content changed. -Not recreating it will save time because it's only unzipped on the device if it's newer than what's on the device +5. Run "make apk" -You can install that on your device or emulator with the following command: - $ $ANDROID_SDK_PATH/tools/adb install -r bin/Rockbox.apk +6. Optional. Install on your target/emulator, using the following command: + "$ANDROID_SDK_PATH/tools/adb install -r rockbox.apk" [1]: http://developer.android.com/sdk/index.html diff --git a/android/android.make b/android/android.make index f611d5d5a1..492c0127cb 100644 --- a/android/android.make +++ b/android/android.make @@ -41,11 +41,11 @@ JAVA_SRC := $(wildcard $(ANDROID_DIR)/src/$(PACKAGE_PATH)/*.java) JAVA_OBJ := $(call java2class,$(subst $(ANDROID)/src/$(PACKAGE_PATH),$(ANDROID)/bin/$(PACKAGE_PATH),$(JAVA_SRC))) LIBS := $(BINLIB_DIR)/$(BINARY) $(BINLIB_DIR)/libmisc.so -TEMP_APK := $(BUILDDIR)/bin/_Rockbox.apk -TEMP_APK2 := $(BUILDDIR)/bin/__Rockbox.apk +TEMP_APK := $(BUILDDIR)/bin/_rockbox.apk +TEMP_APK2 := $(BUILDDIR)/bin/__rockbox.apk DEX := $(BUILDDIR)/bin/classes.dex AP_ := $(BUILDDIR)/bin/resources.ap_ -APK := $(BUILDDIR)/bin/Rockbox.apk +APK := $(BUILDDIR)/rockbox.apk _DIRS := $(BUILDDIR)/___/$(PACKAGE_PATH) DIRS := $(subst ___,bin,$(_DIRS)) @@ -53,6 +53,8 @@ DIRS += $(subst ___,gen,$(_DIRS)) DIRS += $(subst ___,data,$(_DIRS)) DIRS += $(BUILDDIR)/libs/armeabi +CLEANOBJS += bin gen libs data + $(R_JAVA) $(AP_): $(MANIFEST) $(call PRINTS,AAPT $(subst $(BUILDDIR)/,,$@))$(AAPT) package -f -m \ -J $(BUILDDIR)/gen -M $(MANIFEST) -S $(ANDROID_DIR)/res \ @@ -106,6 +108,3 @@ $(DIRS): dirs: $(DIRS) apk: $(APK) - -clean:: - $(SILENT)rm -f $(BUILDDIR)/bin/$(PACKAGE_PATH)/*.class $(R_JAVA) $(TEMP_APK) $(TEMP_APK2) $(APK) $(DEX) $(BUILDDIR)/_rockbox.zip $(AP_) $(LIBS) diff --git a/tools/configure b/tools/configure index c7c75a2593..e716439ca2 100755 --- a/tools/configure +++ b/tools/configure @@ -53,7 +53,12 @@ prefixtools () { app_get_platform() { echo "Select your platform: (S)DL, (A)ndroid (default: Android)" - choice=`input` + if [ -z "$ARG_PLATFORM" ]; then + choice=`input` + else + choice="$APP_PLATFORM" + fi + case $choice in s|S*) app_platform="sdl" ;; *|a|A*) app_platform="android" ;; @@ -61,10 +66,18 @@ app_get_platform() { echo "Selected $app_platform platform" echo "Enter the LCD width (default: 320)" - app_lcd_width=`input` + if [ -z "$ARG_LCDWIDTH" ]; then + app_lcd_width=`input` + else + app_lcd_width=`$ARG_LCDWIDTH` + fi if [ -z "$app_lcd_width" ]; then app_lcd_width="320"; fi echo "Enter the LCD height (default: 480)" - app_lcd_height=`input` + if [ -z "$ARG_LCDHEIGHT" ]; then + app_lcd_height=`input` + else + app_lcd_height="$ARG_LCDHEIGHT" + fi if [ -z "$app_lcd_height" ]; then app_lcd_height="480"; fi echo "Selected $app_lcd_width x $app_lcd_height resolution" @@ -945,6 +958,9 @@ for arg in "$@"; do --no-ccache) ARG_CCACHE=0;; --encopts=*) ARG_ENCOPTS=`echo "$arg" | cut -d = -f 2`;; --language=*) ARG_LANG=`echo "$arg" | cut -d = -f 2`;; + --lcdwidth=*) ARG_LCDWIDTH=`echo "$arg" | cut -d = -f 2`;; + --lcdheight=*) ARG_LCDHEIGHT=`echo "$arg" | cut -d = -f 2`;; + --platform=*) ARG_PLATFORM=`echo "$arg" | cut -d = -f 2`;; --ram=*) ARG_RAM=`echo "$arg" | cut -d = -f 2`;; --rbdir=*) ARG_RBDIR=`echo "$arg" | cut -d = -f 2`;; --target=*) ARG_TARGET=`echo "$arg" | cut -d = -f 2`;; @@ -956,7 +972,7 @@ for arg in "$@"; do --no-eabi) ARG_ARM_EABI=0;; --thumb) ARG_ARM_THUMB=1;; --no-thumb) ARG_ARM_THUMB=0;; - --prefix=*) PREFIX=`echo "$arg" | cut -d = -f 2`;; + --prefix=*) PREFIX=`echo "$arg" | cut -d = -f 2`;; --help) help;; *) err=1; echo "[ERROR] Option '$arg' unsupported";; esac -- cgit v1.2.3