因为我是android的初学者试图从android.jar访问核心库目的是访问jar文件中存在的android.view包的类我尝试了一些代码,但它没有显示类发生了一些错误。 。请检查错误日志。
public class TEST1 {
public static void main() {
String packname = "android.view";
String jarfile = "C:/Users/RAMA/Desktop/New folder/adt-bundle-windows-x86_64-20130219/adt-bundle-windows-x86_64-20130219/sdk/platforms/android-17/android.jar";
JarFile jar = null;
try {
jar = new JarFile(jarfile);
} catch (FileNotFoundException ex) {
} catch (IOException e) {
e.printStackTrace();
}
java.util.Enumeration enumEntries = jar.entries();
while (enumEntries.hasMoreElements()) {
java.util.jar.JarEntry file = (java.util.jar.JarEntry) enumEntries
.nextElement();
String nm = file.getName();
nm = nm.replace('/', '.');
try {
if (nm.startsWith(packname)) {
int stIndx = packname.length();
String rem = nm.substring(stIndx + 1);
int idx1 = rem.lastIndexOf('.');
int idx2 = rem.lastIndexOf('.', idx1 - 1);
if (rem.endsWith(".class") && idx2 == -1
&& !rem.contains("$")) {
rem = rem.substring(0, rem.length() - 6);
String fName = packname + "." + rem;
ClassesDisplayActivity.your_array_list3.add(fName);
Log.i("Ramu","classname "+ fName.getClass().getName());
}
}
} catch (Exception e) {
}
}
}
}
错误日志
06-16 07:54:06.923:E / Trace(1700):错误打开跟踪文件:没有这样的文件或目录(2) 06-16 17:09:51.925:E / Trace(1267):错误打开跟踪文件:没有这样的文件或目录(2) 06-16 17:09:53.505:D / gralloc_goldfish(1267):未检测到GPU仿真的仿真器。 06-16 17:10:31.555:E / Trace(1319):错误打开跟踪文件:没有这样的文件或目录(2) 06-16 17:10:33.155:D / gralloc_goldfish(1319):未检测到GPU仿真的仿真器。 06-16 17:10:40.924:D / dalvikvm(1319):GC_FOR_ALLOC释放69K,8%自由2648K / 2864K,暂停90ms,总计115ms 06-16 17:10:41.204:我/我在displayclass(1319):活动 06-16 17:10:41.326:W / System.err(1319):java.lang.NullPointerException 06-16 17:10:41.374:W / System.err(1319):at com.api.testapp.TEST1.main(TEST1.java:18) 06-16 17:10:41.394:W / System.err(1319):at com.api.testapp.ClassesDisplayActivity.onStart(ClassesDisplayActivity.java:76) 06-16 17:10:41.424:W / System.err(1319):在android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1164) 06-16 17:10:41.424:W / System.err(1319):在android.app.Activity.performStart(Activity.java:5114) 06-16 17:10:41.444:W / System.err(1319):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2153) 06-16 17:10:41.444:W / System.err(1319):在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230) 06-16 17:10:41.444:W / System.err(1319):在android.app.ActivityThread.access $ 600(ActivityThread.java:141) 06-16 17:10:41.464:W / System.err(1319):在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1234) 06-16 17:10:41.464:W / System.err(1319):在android.os.Handler.dispatchMessage(Handler.java:99) 06-16 17:10:41.464:W / System.err(1319):在android.os.Looper.loop(Looper.java:137) 06-16 17:10:41.464:W / System.err(1319):在android.app.ActivityThread.main(ActivityThread.java:5041) 06-16 17:10:41.494:W / System.err(1319):at java.lang.reflect.Method.invokeNative(Native Method) 06-16 17:10:41.494:W / System.err(1319):at java.lang.reflect.Method.invoke(Method.java:511) 06-16 17:10:41.514:W / System.err(1319):at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:793) 06-16 17:10:41.514:W / System.err(1319):at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) 06-16 17:10:41.534:W / System.err(1319):at dalvik.system.NativeStart.main(Native Method) 06-16 17:10:41.994:I / Choreographer(1319):跳过42帧!应用程序可能在其主线程上做了太多工作。
任何人都知道请解决这个问题。答案 0 :(得分:0)
请先阅读Java和Android的基础知识。如果您想为Android编码,则无法访问Windows PC的本地文件目录。无论如何,java没有静态主入口点。如果要编写java代码,则不能使用androids库。
你也不应该通过让块空了来忽略异常。