From ca42cbaec241708c8af2137120867cd10daffcc3 Mon Sep 17 00:00:00 2001 From: Nikolay Pultsin Date: Tue, 27 Jul 2010 14:14:09 +0000 Subject: [PATCH] build procedure has been changed git-svn-id: https://only.mawhrin.net/repos/FBReaderJ/trunk@1627 6a642e6f-84f6-412e-ac94-c4a38d5a04b0 --- HowToBuild | 23 +++++++++++----- build.xml | 32 ++++++++++++++++++----- libs/armeabi/libDeflatingDecompressor.so | Bin 14748 -> 0 bytes libs/armeabi/libLineBreak.so | Bin 44007 -> 0 bytes 4 files changed, 42 insertions(+), 13 deletions(-) delete mode 100755 libs/armeabi/libDeflatingDecompressor.so delete mode 100644 libs/armeabi/libLineBreak.so diff --git a/HowToBuild b/HowToBuild index 3b28bfaa2..c9b5030f5 100644 --- a/HowToBuild +++ b/HowToBuild @@ -1,14 +1,23 @@ How to Build for Android ------------------------ -Requirements: Android SDK 1.6, Android NDK 1.5 +Prerequisites: -1. Compile native code. - This step could be skipped, prebuilded native libraries are currently included into the source package. +1. Android SDK >= 1.6 -2. Create 'local.properties' file containing sdk-location definition: - sdk-location= +2. Android NDK >= r4b -3. Run './createRawResources.py'. +3. python -4. Run 'ant release'. +To build: + +1. Create 'local.properties' file containing sdk.dir && ndk.dir definitions: + sdk.dir=/tools + ndk.dir= +E.g., on my computer 'local.properties' consists of 2 lines: + sdk.dir=/Users/geometer/android-sdk-mac_86 + ndk.dir=/Users/geometer/android-ndk-r4b + +2. Run 'ant'. + +3. Sign your package manually. diff --git a/build.xml b/build.xml index 8206574bb..edb39ef7b 100644 --- a/build.xml +++ b/build.xml @@ -1,15 +1,15 @@ - + - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/libs/armeabi/libDeflatingDecompressor.so b/libs/armeabi/libDeflatingDecompressor.so deleted file mode 100755 index 002fe30d02cfb03284be7153d0214ce032d27ee0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14748 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 diff --git a/libs/armeabi/libLineBreak.so b/libs/armeabi/libLineBreak.so deleted file mode 100644 index a712c27b3e838086867565d400a2498181d31578..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44007 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