사용 방법
- 설치 명령을 복사하고 자신의 에이전트 환경에 설치하기 전에 소스 패키지를 확인하세요.
- 필요한 도구, 인증 정보, 지원 환경은 원본 문서에서 확인하세요.
- 입력과 원하는 산출물을 설명하고 출처와 결과를 대조하세요.
npx skills add https://github.com/prasad-vennam/awesome-android-ai-agent-skills --skill android-macrobenchmark시작 전 확인
- 설치에는 모델 구독, API 한도, 파일 접근 권한이 포함되지 않습니다.
- 별점 수와 설치 수는 활동 지표이며 독립적인 품질·보안 검증이 아닙니다.
원본 저장소의 제목, 예시, 코드, 표, 링크, 이미지를 유지해 표시합니다.
Android Macrobenchmark & Baseline Profiles 🏎️
App Startup Time and UI performance are crucial. Macrobenchmark allows us to write standard JUnit 4 tests to measure end-to-end user journeys (like app startup or scrolling a list) and automatically generate Baseline Profiles that Android's ART uses to pre-compile critical code.
⚡ When to Use
- When the prompt mentions "speeding up app startup time"
- When writing a Macrobenchmark module
- When generating or applying Baseline Profiles (
baseline-prof.txt)
🏗️ Core Rules / Pillars
1. Separate Macrobenchmark Module
- Pattern: Macrobenchmarks MUST be in a separate
com.android.testmodule. They launch your application by itsapplicationIdexternally. - Anti-Pattern: Do NOT attempt to run Macrobenchmark tests inside the standard
app/src/androidTestdirectory.
2. Writing a Scrolling Benchmark
- Implementation:
@RunWith(AndroidJUnit4::class)
class ScrollBenchmark {
@get:Rule
val benchmarkRule = MacrobenchmarkRule()
@Test
fun scrollTimeline() = benchmarkRule.measureRepeated(
packageName = "com.example.app",
metrics = listOf(FrameTimingMetric()),
iterations = 5,
startupMode = StartupMode.COLD
) {
pressHome()
startActivityAndWait()
// Using UIAutomator to find the scrollable list and scroll
val list = device.findObject(By.res("com.example.app", "timeline_list"))
list.setGestureMargin(device.displayWidth / 5)
list.fling(Direction.DOWN)
}
}🚧 Critical Anti-Hallucination Guards
- Trap: Baseline Profiles generation requires a rooted device OR a device running Android 13 (API 33)+.


