我已经为 Android 应用程序开发了一个 SDK。我们有很多客户在应用程序中使用这个 SDK。现在我已经更新了我的 SDK。我正在寻找一种方法可以在应用程序中反射(reflect)这些更改,而无需更新正在播放的应用程序商店。需要紧急帮助。我们将不胜感激。在此先致谢。
最佳答案
好吧,您可以使用 DexLoader 类从您的 SD 卡动态加载一个 jar 文件...您可以随时更新...在您的存储...下面是工作代码..
final String libPath = Environment.getExternalStorageDirectory() + "/test.jar";
final File tmpDir = getDir("dex", 0);
final DexClassLoader classloader = new DexClassLoader(libPath, tmpDir.getAbsolutePath(), null, this.getClass().getClassLoader());
final Class<Object> classToLoad = (Class<Object>) classloader.loadClass("com.test.android.MainActivity");
final Object myInstance = classToLoad.newInstance();
final Method doSomething = classToLoad.getMethod("doSomething");
doSomething.invoke(myInstance);
在你的库文件中代码可以是这样的
public class MainActivity {
public void doSomething() {
Log.e(MainActivity .class.getName(), "MainActivity : doSomething() called.");
}}
如果需要任何帮助,请告诉我
关于android - 推出 SDK OTA 更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32816337/