2014-06-16 57 views
-1

因爲我是初學者,試圖從android.jar訪問核心庫的目的,以訪問jar文件中存在的android.view包的類我試着用一些代碼,但它不顯示類的一些錯誤發生..請檢查錯誤日誌。您好我想在android項目中讀取核心庫android.jar是否有可能。

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) { 
     } 
    } 

} 

}

錯誤日誌

七月6日至16日:54:06.923:E /跟蹤(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:3​​1.555 E/Trace(1319):錯誤打開跟蹤文件:沒有這樣的文件或目錄(2) 06-16 17:10:3​​3.155:D/gralloc_goldfish(1319):沒有GPU的模擬器檢測到仿真。 06-16 17:10:40.924:D/dalvikvm(1319):GC_FOR_ALLOC釋放69K,8%免費2648K/2864K,暫停90ms,總計115毫秒 06-16 17:10:41.204:我/ (1319):activity 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):at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1164) 06-16 17:10:41.424:W/System.err (1319):at android.app.Activity.performStart(Activity.java:5114) 06-16 17:10:41.444:W/System.err(1319):at android.app.ActivityThread.performLau nchActivity(ActivityThread.java:2153) 06-16 17:10:41.444:W/System.err(1319):at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230) 06-16 17:10: 41.444:W/System.err(1319):at android.app.ActivityThread.access $ 600(ActivityThread.java:141) 06-16 17:10:41.464:W/System.err(1319):at android.app .ActivityThread $ H.handleMessage(ActivityThread.java:1234) 06-16 17:10:41.464:W/System.err(1319):at android.os.Handler.dispatchMessage(Handler.java:99) 06- 16 17:10:41.464:W/System.err(1319):at android.os.Looper.loop(Looper.java:137) 06-16 17:10:41.464:W/System.err(1319): at 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 /編舞師(1319):跳過了42幀!應用程序可能在其主線程上做了太多工作。

任何人都知道請解決這個問題。

+0

「發生了一點錯誤」 - >這個錯誤是什麼?你必須更具體。 – awksp

+0

06-16 07:54:06.923 E /跟蹤(1700):打開跟蹤文件時出錯:沒有這樣的文件或目錄(2) – user3707603

+0

把這個問題放在你的問題中。 – awksp

回答

0

請首先閱讀Java和Android的基礎知識。如果你想爲Android編碼,你不能訪問你的Windows PC的本地文件目錄。無論如何,沒有Java的靜態主入口點。如果你想爲java編碼,你不能使用androids庫。

你也應該不要忽略這個例外,讓塊空着。

相關問題