簡體   English   中英

Android:如何從JAR文件動態加載類?

[英]Android: How to dynamically load classes from a JAR file?

我正在嘗試在Android平台上動態加載一個類。 該類包含在單獨的庫JAR文件中,但與APK一起打包(根據SDK中的新庫機制)。 使用Class.forname方法時,我收到了一個未找到的類異常。 我已經看過圍繞DexClassLoader方法的一些討論,但是我找不到一個如何使用它的好例子(以及它是否是最好的方法 - 它似乎比forname方法復雜得多!)。

如果有人可以提供一個如何解決此問題的示例代碼,我將非常感激。

非常感謝您的幫助。

以下是動態加載DevicePolicyManager類的示例。

Class myClass =                                                                        
  ClassLoader.getSystemClassLoader().loadClass("android.app.admin.DevicePolicyManager")

Object DPMInstance = myClass.newInstance();                                            

Method myMethod = myClass.getMethod("setPasswordQuality",                              
                                    new Class[] { ComponentName.class,                 
                                                  int.class });                        
myMethod.invoke(DPMInstance,                                                           
                new Object[] { myComponentName,                                        
                               PASSWORD_QUALITY_NUMERIC }); 

這很有用,因此您可以選擇僅在設備運行足夠高的SDK版本時加載類。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM