我在我的Android应用程序中使用了一个Jar(它位于libs文件夹中)。 Jar不包含任何Android资源或类似的东西,只是简单的Java类。
现在,我希望Jar知道它在清单中当前有哪个版本,以便在Jar中发生异常的情况下,我知道Jar的哪个版本导致异常。
出于某种原因,我似乎无法做到...... 我已经看到了这个similar question和其他许多人,虽然这在我在一个简单的Java应用程序中使用Jar时有效,但它在Android应用程序中使用时却没有。 我试过通过这样做获得清单
Thread.currentThread().getContextClassLoader().getResources("META-INF/MANIFEST.MF");
或者
MyClass.class.getClassLoader().getResources("META-INF/MANIFEST.MF");
但我从来没有得到我的罐子的清单。
非常感谢任何帮助。
答案 0 :(得分:-1)
我把它放在我的子类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;
}
您可以使用上述方法从清单中获取应用程序的版本。