我開發了一個適用於android應用程序的SDK。我們有許多客戶端在那裏使用這個SDK的應用程序。現在我已經更新了我的SDK。我正在尋找一種方式,這些更改可以反映在那裏的應用程序沒有更新那裏的應用程序在商店store.Urgent幫助needed.Any幫助將不勝感激。提前感謝。推出更新的SDK OTA
7
A
回答
4
那麼你可以動態使用DexLoader類...你可以當過你want..on存儲...以下是工作代碼更新您的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.");
}}
告訴我,如果你需要任何幫助
1
有沒有這種方式適合您的情況。但有一件事你可以做,以啓用它的下一次更新。 Android可以通過DexClassLoader動態加載編譯後的代碼。所以你編譯一個新的DEX文件,然後強制你的SDK下載並使用它。
// Internal storage where the DexClassLoader writes the optimized dex file to
final File optimizedDexOutputPath = getDir("outdex", Context.MODE_PRIVATE);
DexClassLoader cl = new DexClassLoader(dexInternalStoragePath.getAbsolutePath(),
optimizedDexOutputPath.getAbsolutePath(),
null,
getClassLoader());
Class libProviderClazz = null;
try {
// Load the library.
libProviderClazz =
cl.loadClass("com.example.dex.lib.LibraryProvider");
// Cast the return object to the library interface so that the
// caller can directly invoke methods in the interface.
// Alternatively, the caller can invoke methods through reflection,
// which is more verbose.
LibraryInterface lib = (LibraryInterface) libProviderClazz.newInstance();
lib.showAwesomeToast(this, "hello");
} catch (Exception e) { ... }
相關問題
- 1. 更新應用程序OTA
- 2. 用BLE113 OTA固件更新
- 3. Facebook Api(新推出)(IN ANDROID SDK)
- 4. 企業OTA應用程序更新
- 5. IPhone SDK:推出再次
- 6. 更新SDK包
- 7. 更新Android SDK後出錯22.0.1
- 8. 的Android SDK的推出懸掛裝置
- 9. iPhone OTA給出錯誤
- 10. 推出iOS屏幕不更新
- 11. 更新的SDK,無法更新adt
- 12. 更新Azure Web Jobs SDK更新後出錯
- 13. 將SDK升級到更新的SDK
- 14. 三星Galaxy TAb的意圖一個軟件更新(Android OTA)
- 15. 適用於Android的Web服務器固件OTA更新
- 16. 蘋果是否允許應用程序的OTA更新
- 17. SDK更新失敗
- 18. 更新SDK版本
- 19. SDK實時更新
- 20. 測試航班SDK在ios中更新但不推薦使用
- 21. 更新TwitterKit SDK中的iOS
- 22. 更新sdk後的錯誤
- 23. 的Android SDK更新接觸
- 24. ADB更新出廠設置?
- 25. 推出新功能
- 26. Listpreference推出新的活動
- 27. iPhone OTA分銷
- 28. iOS應用程序未通過OTA Enterprise Distribution正確更新
- 29. 應用程序是否可以更新OTA
- 30. 在Android源代碼中,系統查找並下載OTA更新?
你能認罪再解釋一下。我的意思是在哪裏以及如何實現這些代碼以及流程將如何實現。將這項工作通過空氣?預先感謝。 – Scorpio
@HarrySharma,https://www.google.com.ua/webhp?sourceid=chrome-instant&ion=1&espv=2&es_th=1&ie=UTF-8#q=android%20dexclassloader%20example&es_th=1 –