diff --git a/lib/motion/project/template/android.rb b/lib/motion/project/template/android.rb index 732afea7..d43c10c6 100644 --- a/lib/motion/project/template/android.rb +++ b/lib/motion/project/template/android.rb @@ -33,8 +33,8 @@ desc "Create an application package file (.apk)" task :build do # XXX FileUtils.mkdir_p("#{App.config.build_dir}/lib/armeabi") - sh "#{App.config.ndk_path}/toolchains/arm-linux-androideabi-4.6/prebuilt/darwin-x86/bin/arm-linux-androideabi-gcc -MMD -MP -fpic -ffunction-sections -funwind-tables -fstack-protector -D__ARM_ARCH_5__ -D__ARM_ARCH_5T__ -D__ARM_ARCH_5E__ -D__ARM_ARCH_5TE__ -no-canonical-prefixes -march=armv5te -mtune=xscale -msoft-float -mthumb -Os -g -DNDEBUG -fomit-frame-pointer -fno-strict-aliasing -finline-limit=64 -O0 -UNDEBUG -marm -fno-omit-frame-pointer -Ijni -DANDROID -Wa,--noexecstack -I\"#{App.config.ndk_path}/platforms/android-14/arch-arm/usr/include\" -c #{App.config.build_dir}/payload.c -o #{App.config.build_dir}/payload.o" - sh "#{App.config.ndk_path}/toolchains/arm-linux-androideabi-4.6/prebuilt/darwin-x86/bin/arm-linux-androideabi-g++ -Wl,-soname,libpayload.so -shared --sysroot=\"#{App.config.ndk_path}/platforms/android-14/arch-arm\" #{App.config.build_dir}/payload.o -no-canonical-prefixes -Wl,--no-undefined -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now -lc -lm -llog -o #{App.config.build_dir}/lib/armeabi/libpayload.so" + sh "#{App.config.ndk_path}/toolchains/arm-linux-androideabi-4.6/prebuilt/darwin-x86_64/bin/arm-linux-androideabi-gcc -MMD -MP -fpic -ffunction-sections -funwind-tables -fstack-protector -D__ARM_ARCH_5__ -D__ARM_ARCH_5T__ -D__ARM_ARCH_5E__ -D__ARM_ARCH_5TE__ -no-canonical-prefixes -march=armv5te -mtune=xscale -msoft-float -mthumb -Os -g -DNDEBUG -fomit-frame-pointer -fno-strict-aliasing -finline-limit=64 -O0 -UNDEBUG -marm -fno-omit-frame-pointer -Ijni -DANDROID -Wa,--noexecstack -I\"#{App.config.ndk_path}/platforms/android-14/arch-arm/usr/include\" -c #{App.config.build_dir}/payload.c -o #{App.config.build_dir}/payload.o" + sh "#{App.config.ndk_path}/toolchains/arm-linux-androideabi-4.6/prebuilt/darwin-x86_64/bin/arm-linux-androideabi-g++ -Wl,-soname,libpayload.so -shared --sysroot=\"#{App.config.ndk_path}/platforms/android-14/arch-arm\" #{App.config.build_dir}/payload.o -no-canonical-prefixes -Wl,--no-undefined -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now -lc -lm -llog -o #{App.config.build_dir}/lib/armeabi/libpayload.so" # XXX classes_dir = File.join(App.config.build_dir, 'classes') @@ -57,7 +57,7 @@ task :build do dex_classes = File.join(App.config.build_dir, 'classes.dex') if !File.exist?(dex_classes) or rebuild_dex_classes App.info 'Create', dex_classes - sh "\"#{App.config.sdk_path}/build-tools/android-4.2.2/dx\" --dex --output \"#{dex_classes}\" \"#{classes_dir}\" \"#{App.config.sdk_path}/tools/support/annotations.jar\"" + sh "\"#{App.config.sdk_path}/build-tools/android-4.4/dx\" --dex --output \"#{dex_classes}\" \"#{classes_dir}\" \"#{App.config.sdk_path}/tools/support/annotations.jar\"" end android_manifest = File.join(App.config.build_dir, 'AndroidManifest.xml') @@ -87,10 +87,11 @@ EOS if !File.exist?(archive) or File.mtime(dex_classes) > File.mtime(archive) App.info 'Create', archive resource_flags = App.config.resources_dirs.map { |x| '-S "' + x + '"' }.join(' ') - sh "\"#{App.config.sdk_path}/build-tools/android-4.2.2/aapt\" package -f -M \"#{android_manifest}\" #{resource_flags} -I \"#{App.config.sdk_path}/platforms/android-#{App.config.api_level}/android.jar\" -F \"#{archive}\"" + sh "\"#{App.config.sdk_path}/build-tools/android-4.4/aapt\" package -f -M \"#{android_manifest}\" #{resource_flags} -I \"#{App.config.sdk_path}/platforms/android-#{App.config.api_level}/android.jar\" -F \"#{archive}\"" Dir.chdir(App.config.build_dir) do - sh "\"#{App.config.sdk_path}/build-tools/android-4.2.2/aapt\" add -f \"../#{archive}\" \"#{File.basename(dex_classes)}\"" - sh "\"#{App.config.sdk_path}/build-tools/android-4.2.2/aapt\" add -f \"../#{archive}\" lib/armeabi/libpayload.so" + sh "\"#{App.config.sdk_path}/build-tools/android-4.4/aapt\" add -f \"../#{archive}\" \"#{File.basename(dex_classes)}\"" + sh "\"#{App.config.sdk_path}/build-tools/android-4.4/aapt\" add -f \"../#{archive}\" lib/armeabi/libpayload.so" + end end App.info 'Sign', archive