#!/usr/bin/env python # # Copyright 2015 The Chromium Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. """Extracts a native library from an Android JAR.""" import os import sys import zipfile def main(): if len(sys.argv) != 4: print 'Usage: %s ' % sys.argv[0] sys.exit(1) android_app_abi = sys.argv[1] # e.g. armeabi-v7a jar_file = sys.argv[2] # e.g. path/to/foo.jar output_file = sys.argv[3] # e.g. path/to/libfoo.so library_filename = os.path.basename(output_file) library_in_jar = os.path.join('lib', android_app_abi, library_filename) with zipfile.ZipFile(jar_file, 'r') as archive: with open(output_file, 'wb') as target: content = archive.read(library_in_jar) target.write(content) if __name__ == '__main__': sys.exit(main())