• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#!/bin/bash
2#
3# Copyright 2016 The Android Open Source Project
4#
5# Licensed under the Apache License, Version 2.0 (the "License");
6# you may not use this file except in compliance with the License.
7# You may obtain a copy of the License at
8#
9#      http://www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing, software
12# distributed under the License is distributed on an "AS IS" BASIS,
13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14# See the License for the specific language governing permissions and
15# limitations under the License.
16
17
18def run(ctx, args):
19  plugin = "libartagent.so" if args.O else "libartagentd.so"
20
21  # Adjust the agent path when running on device.
22  if not args.host:
23    for i, opt in enumerate(args.runtime_option):
24      if opt.startswith("-Djava.library.path="):
25        libpath = opt.split("=")[-1]
26        assert libpath.startswith("/data/nativetest"), libpath
27
28        # The linker configuration used for dalvikvm(64) in the ART APEX requires us
29        # to pass the full path to the agent to the runtime when running on device.
30        plugin = f"{libpath}/{plugin}"
31        break
32
33  ctx.default_run(
34      args,
35      runtime_option=[
36          f"-agentpath:{plugin}=test_900",
37          f"-agentpath:{plugin}=test_900_round_2"
38      ],
39      android_runtime_option=[f"-Xplugin:{plugin}"])
40