kotlin 如何在android中侧载基线配置文件?

ljsrvy3e  于 2022-11-16  发布在  Kotlin
关注(0)|答案(2)|浏览(145)

我看了官方文档,但就是不能让它运行。https://developer.android.com/topic/performance/baselineprofiles#measuring-baseline
我的基线配置文件已经设置好了,我的baseline-prof.txt文件在主文件夹中。
现在不确定如何在我的设备上测试它。
医生说:

Next, let's sideload the Baseline Profile.

Note: This workflow is only supported on version Android 9 (API 28) to Android 11 (API 30).

# Unzip the Release APK first
unzip release.apk
# Create a ZIP archive
# Note: The name should match the name of the APK
# Note: Copy baseline.prof{m} and rename it to primary.prof{m}
cp assets/dexopt/baseline.prof primary.prof
cp assets/dexopt/baseline.profm primary.profm
# Create an archive
zip -r release.dm primary.prof primary.profm
# Confirm that release.dm only contains the two profile files:
unzip -l release.dm
# Archive:  release.dm
#   Length      Date    Time    Name
# ---------  ---------- -----   ----
#      3885  1980-12-31 17:01   primary.prof
#      1024  1980-12-31 17:01   primary.profm
# ---------                     -------
#                               2 files
# Install APK + Profile together
adb install-multiple release.apk release.dm

但是当我开始在终端中输入这些命令时,它马上告诉我:

unzip:  cannot find or open release.apk, release.apk.zip or release.apk.ZIP.

我不知道如何做到这一点,我无法找到任何其他来源来解释它

编辑文件状态:“注意:此工作流仅在Android 9(API 28)至Android 11(API 30)版本上受支持。”因此,我无法在Android 12设备上旁载基准配置文件?

y53ybaqx

y53ybaqx1#

Android 12+的安全更新限制了侧加载这些,所以是的。你不能,从文档中可以清楚地看到。
这里有一个非常方便的Kotlin示例,可以帮助您轻松、高效、无缝地确定您的版本是否兼容。

val android_version = android.os.Build.VERSION.SDK_INT

// Let Kotlin demonstrate 
if (android_version in 9..11)
   print("Side-loading now")
else throw Exception("Oops! Wrong Android!")

Android 12-(https://issuetracker.google.com/issues/232104540)上发布
Android 13-(https://issuetracker.google.com/issues/232104548)上发布

7cwmlq89

7cwmlq892#

您目前无法在Android 12+上使用。
如果您想了解用户从Play商店下载应用时的应用性能,您可以通过运行以下命令告诉Android运行时完全编译应用,这比基准配置文件稍好
adb shell cmd package compile -m speed -f <YOUR_APPS_PACKAGE_NAME>

相关问题