我仅使用一个项目来移植lite和完整版本,因此我只是更新 list 文件包名称。
我的项目结构是这样的
我的应用程式
| _src
| _com.example.myapp
| _MyClass.java
和我的 list 包名称不同。
package =“com.example.myapplite”
我正在使用一个库项目,因为我想要在MyApp中使用的类的包名称。
我已经用过了
System.out.println("Package Name " + context.getPackageName());
但是它给了我一个 list 文件包名称值,即。 com.example.myapplite
我想要MyClass.java包名称。 IE。 com.example.myapp
我也知道这一点
MyClass mClass = new MyClass();
Package pack = mClass.getClass().getPackage();
但是我不能使用这种方法,因为我正在使用以下方法在我的图书馆项目中获取类文件
Class c = Class.forName("package_name.MyClass");
如何以编程方式获取MyClass.java文件的包名称?
最佳答案
可能会有所帮助
package org.kodejava.example.lang;
import java.util.Date;
public class ObtainingPackageName {
public static void main(String[] args) {
//
// Create an instance of Date class, and then obtain the class package
// name.
//
Date date = new Date();
Package pack = date.getClass().getPackage();
String packageName = pack.getName();
System.out.println("Package Name = " + packageName);
//
// Create an insatnce of our class and again get its package name
//
ObtainingPackageName o = new ObtainingPackageName();
packageName = o.getClass().getPackage().getName();
System.out.println("Package Name = " + packageName);
}
}
关于java - 如何在Android中获取源类文件的包名?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14889694/