Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(233)

Side by Side Diff: build/android/gyp/create_device_library_links.py

Issue 167643002: android: Don't require aapt to be on the path during builds and tests. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rietfail Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # 2 #
3 # Copyright 2013 The Chromium Authors. All rights reserved. 3 # Copyright 2013 The Chromium Authors. All rights reserved.
4 # Use of this source code is governed by a BSD-style license that can be 4 # Use of this source code is governed by a BSD-style license that can be
5 # found in the LICENSE file. 5 # found in the LICENSE file.
6 6
7 """Creates symlinks to native libraries for an APK. 7 """Creates symlinks to native libraries for an APK.
8 8
9 The native libraries should have previously been pushed to the device (in 9 The native libraries should have previously been pushed to the device (in
10 options.target_dir). This script then creates links in an apk's lib/ folder to 10 options.target_dir). This script then creates links in an apk's lib/ folder to
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
52 with open(options.script_host_path, 'w') as scriptfile: 52 with open(options.script_host_path, 'w') as scriptfile:
53 scriptfile.write(script) 53 scriptfile.write(script)
54 54
55 55
56 def TriggerSymlinkScript(options): 56 def TriggerSymlinkScript(options):
57 device = build_device.GetBuildDeviceFromPath( 57 device = build_device.GetBuildDeviceFromPath(
58 options.build_device_configuration) 58 options.build_device_configuration)
59 if not device: 59 if not device:
60 return 60 return
61 61
62 apk_package = apk_helper.GetPackageName(options.apk) 62 apk_package = apk_helper.GetPackageName(options.android_sdk_tools,
63 options.apk_path)
63 apk_libraries_dir = '/data/data/%s/lib' % apk_package 64 apk_libraries_dir = '/data/data/%s/lib' % apk_package
64 65
65 device_dir = os.path.dirname(options.script_device_path) 66 device_dir = os.path.dirname(options.script_device_path)
66 mkdir_cmd = ('if [ ! -e %(dir)s ]; then mkdir -p %(dir)s; fi ' % 67 mkdir_cmd = ('if [ ! -e %(dir)s ]; then mkdir -p %(dir)s; fi ' %
67 { 'dir': device_dir }) 68 { 'dir': device_dir })
68 RunShellCommand(device, mkdir_cmd) 69 RunShellCommand(device, mkdir_cmd)
69 device.PushIfNeeded(options.script_host_path, options.script_device_path) 70 device.PushIfNeeded(options.script_host_path, options.script_device_path)
70 71
71 trigger_cmd = ( 72 trigger_cmd = (
72 'APK_LIBRARIES_DIR=%(apk_libraries_dir)s; ' 73 'APK_LIBRARIES_DIR=%(apk_libraries_dir)s; '
73 'STRIPPED_LIBRARIES_DIR=%(target_dir)s; ' 74 'STRIPPED_LIBRARIES_DIR=%(target_dir)s; '
74 '. %(script_device_path)s' 75 '. %(script_device_path)s'
75 ) % { 76 ) % {
76 'apk_libraries_dir': apk_libraries_dir, 77 'apk_libraries_dir': apk_libraries_dir,
77 'target_dir': options.target_dir, 78 'target_dir': options.target_dir,
78 'script_device_path': options.script_device_path 79 'script_device_path': options.script_device_path
79 } 80 }
80 RunShellCommand(device, trigger_cmd) 81 RunShellCommand(device, trigger_cmd)
81 82
82 83
83 def main(argv): 84 def main(argv):
84 parser = optparse.OptionParser() 85 parser = optparse.OptionParser()
86 parser.add_option('--android-sdk-tools',
87 help='path to the Android SDK build tools folder')
85 parser.add_option('--apk', help='Path to the apk.') 88 parser.add_option('--apk', help='Path to the apk.')
86 parser.add_option('--script-host-path', 89 parser.add_option('--script-host-path',
87 help='Path on the host for the symlink script.') 90 help='Path on the host for the symlink script.')
88 parser.add_option('--script-device-path', 91 parser.add_option('--script-device-path',
89 help='Path on the device to push the created symlink script.') 92 help='Path on the device to push the created symlink script.')
90 parser.add_option('--libraries-json', 93 parser.add_option('--libraries-json',
91 help='Path to the json list of native libraries.') 94 help='Path to the json list of native libraries.')
92 parser.add_option('--target-dir', 95 parser.add_option('--target-dir',
93 help='Device directory that contains the target libraries for symlinks.') 96 help='Device directory that contains the target libraries for symlinks.')
94 parser.add_option('--stamp', help='Path to touch on success.') 97 parser.add_option('--stamp', help='Path to touch on success.')
(...skipping 10 matching lines...) Expand all
105 108
106 CreateSymlinkScript(options) 109 CreateSymlinkScript(options)
107 TriggerSymlinkScript(options) 110 TriggerSymlinkScript(options)
108 111
109 if options.stamp: 112 if options.stamp:
110 build_utils.Touch(options.stamp) 113 build_utils.Touch(options.stamp)
111 114
112 115
113 if __name__ == '__main__': 116 if __name__ == '__main__':
114 sys.exit(main(sys.argv)) 117 sys.exit(main(sys.argv))
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698