我只使用了一个项目来移植精简版和完整版,我只需更新清单文件中的包名。
我的项目结构如下:
My App
|_src
|_com.example.myapp
|_MyClass.java
而我的清单包名则不同:
package="com.example.myapplite"
我在其中使用了一个库项目,我想要使用在MyApp中的类的包名。
我已经使用了这个方法。
System.out.println("Package Name " + context.getPackageName());
但它给了我一个清单文件包名称值,即com.example.myapplite
我想要MyClass.java的包名称。即com.example.myapp
此外,我知道这一点。
MyClass mClass = new MyClass();
Package pack = mClass.getClass().getPackage();
但是我无法使用这种方法,因为我正在使用以下方法在我的库项目中获取类文件
Class c = Class.forName("package_name.MyClass");
如何以编程方式获取MyClass.java文件的包名?
new MyClass().getClass()
(实际上)而不是MyClass.class
...或者为什么这对你来说还不够。你对使用Class.forName
的解释并没有真正说明你想做什么。你希望能做些什么,Class.getPackage()
不能为你完成吗? - Jon Skeet