如何获取Android中库的包名?
How to get package name of the library in Android?
我有一个 android 应用程序,我在其中依赖于几个内部库。现在我正在尝试记录在单个组件级别(这意味着单个库级别)发生的崩溃,以便它可以帮助我分析哪个组件导致了崩溃。
public class MyApplication extends Application implements Thread.UncaughtExceptionHandler {
public static final String TAG = "myapplication";
public static MyApplication applicationInstance;
public MyApplication() {
Thread.setDefaultUncaughtExceptionHandler(this);
}
@Override
public Context getApplicationContext() {
return super.getApplicationContext();
}
public static MyApplication getInstance() {
return applicationInstance;
}
@Override
public void onTerminate() {
super.onTerminate();
}
@Override
public void onLowMemory() {
super.onLowMemory();
}
@Override
public void onTrimMemory(int level) {
super.onTrimMemory(level);
}
@Override
public void uncaughtException(Thread t, Throwable e) {
Log.i(TAG, "Inside uncaught exception..." + Thread.currentThread().getId());
//getPackageName() here returns the name of the application instead of the dependent library's one.
}
}
有什么方法可以获取添加到 android 清单中的库的包名称?
不是真的。库没有应用程序 ID。清单中的 package
属性仅用于代码生成,仅此而已。
如果您碰巧有库中的一个对象,您可以获得与该 class 关联的 Java 包,并且也许可以从那里推断出您指的是哪个库。
我有一个 android 应用程序,我在其中依赖于几个内部库。现在我正在尝试记录在单个组件级别(这意味着单个库级别)发生的崩溃,以便它可以帮助我分析哪个组件导致了崩溃。
public class MyApplication extends Application implements Thread.UncaughtExceptionHandler {
public static final String TAG = "myapplication";
public static MyApplication applicationInstance;
public MyApplication() {
Thread.setDefaultUncaughtExceptionHandler(this);
}
@Override
public Context getApplicationContext() {
return super.getApplicationContext();
}
public static MyApplication getInstance() {
return applicationInstance;
}
@Override
public void onTerminate() {
super.onTerminate();
}
@Override
public void onLowMemory() {
super.onLowMemory();
}
@Override
public void onTrimMemory(int level) {
super.onTrimMemory(level);
}
@Override
public void uncaughtException(Thread t, Throwable e) {
Log.i(TAG, "Inside uncaught exception..." + Thread.currentThread().getId());
//getPackageName() here returns the name of the application instead of the dependent library's one.
}
}
有什么方法可以获取添加到 android 清单中的库的包名称?
不是真的。库没有应用程序 ID。清单中的 package
属性仅用于代码生成,仅此而已。
如果您碰巧有库中的一个对象,您可以获得与该 class 关联的 Java 包,并且也许可以从那里推断出您指的是哪个库。