我有一个在我的 Android 应用程序中使用的 Jar(它在 libs 文件夹中)。 Jar 不包含任何 Android 资源或类似的东西,而只是简单的 Java 类。
现在,我希望 Jar 知道它当前在 list 中的版本,以便在 Jar 中发生异常时,我知道是哪个 Jar 版本导致了异常。
不知为何,我好像做不到... 我看过这个similar question和许多其他人,虽然当我在一个简单的 Java 应用程序中使用 Jar 时这有效,但在 Android 应用程序中使用时却不起作用。 我已经尝试通过这样做来获取 list
Thread.currentThread().getContextClassLoader().getResources("META-INF/MANIFEST.MF");
或者这个
MyClass.class.getClassLoader().getResources("META-INF/MANIFEST.MF");
但我从来没有得到我的 jar 的 list 。
任何帮助将不胜感激。
最佳答案
我将它放在我的子类 android.app.Application 中,但您可以在任何有上下文的地方使用它。只需将 getPackageManager() 更改为 context.getPackageManager()。
public int getVersion() {
int v = 0;
try {
v = getPackageManager().getPackageInfo(getPackageName(), 0).versionCode;
} catch (NameNotFoundException e) {
// Huh? Really?
}
return v;
}
您可以使用上述方法从 list 中获取应用程序的版本。
关于java - 在 Android 应用程序中使用 Jar 时读取我自己的 Jar 的 list ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12970476/