gpt4 book ai didi

android - 读取 list 文件 : list

转载 作者:行者123 更新时间:2023-11-30 02:51:27 24 4
gpt4 key购买 nike

我正在开发一个图书馆,假设这个图书馆依赖于谷歌地图。

当有人在 Android 应用程序中使用它时,我想确保在他的 list 中,他在应用程序标签中声明了以下标签:

<uses-library android:name="com.google.android.maps" android:required="true" />

我正在寻找一种读取 list 的方法,以便我可以显示一个 Toast 或一个日志,上面写着“嘿,伙计,你忘记在你的 list 中包含“uses-library”!请更正,或者不要问我问题,我不会支持你的”(基本上)

到目前为止,我找到了阅读一堆内容(权限等)的方法,但没有关于 uses-library 标签的内容。

(这是一个例子,我实际上并没有使用 maps v1)

最佳答案

我正在编写一个仪器测试,我想检查某个特定的库是否不再被使用。只是巧合,它是“com.google.android.maps”。

Google 的官方文件说明

To check for a library, you can use reflection to determine if a particular class is available.

但是还有另一种方式来读取“uses-library”。必须考虑以下因素:

  • 标志 PackageManager.GET_SHARED_LIBRARY_FILES 必须用于获取共享库信息
  • 返回的列表包含链接库的完整路径,其文件名与语句中请求的库相同

以下代码适合我:

@SmallTest
@Test
public void testUsesNoV1MapLibrary() {
packageInfo = context.getPackageManager().getPackageInfo(
PackageManager.GET_SHARED_LIBRARY_FILES
);

final ApplicationInfo applicationInfo = packageInfo.applicationInfo;
String[] sharedLibraries = applicationInfo.sharedLibraryFiles;

if (sharedLibraries != null) {
for (String libraryPath : sharedLibraries) {
assertThat("no com.google.android.maps.jar in use", libraryPath.contains("com.google.android.maps"), is(false));
}
}
}

关于android - 读取 list 文件 : list <uses-library>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24084567/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com