SugarORM + Multidex

3
我下载了SugarORM源代码以将其用作库模块(这样我就可以覆盖应用程序的“attachBaseContext”方法)。
我已经看到了问题SugarORM和multidex,问题是我无法弄清楚如何将MultiDex库引用到我的新SugarORM库模块中。有人能帮我解决这个问题吗? 错误页面截图
2个回答

7
创建一个Java类文件。
public class MultiDex extends SugarApp {
    @Override
    protected void attachBaseContext(Context base) {
        super.attachBaseContext(base);
        android.support.multidex.MultiDex.install(this);
    }


    @Override
    public void onCreate() {
        super.onCreate();
        SugarContext.init(this);
    }

    @Override
    public void onTerminate() {
        SugarContext.terminate();
        super.onTerminate();
    }
}

在清单文件中调用Java类文件。

<application
   .......
    android:name=".MultiDex"

   ......>

检查sugar库的版本并确保编译最新版本的sugar库。使用1.3这样的版本会在多dex中抛出一些错误。

将此添加到您的gradle中

 compile 'com.github.satyan:sugar:1.5'

-1
如果可能的话,可以自己扩展MultiDexApplication:
public class MyApplication extends MultiDexApplication

另外,请确保您已经按照所有步骤配置了MultiDex。

特别是build.gradle文件:

android {
   defaultConfig {
      ...
      multiDexEnabled = true
}

And AndroidManifest.xml:

<application
    android:name="android.support.multidex.MultiDexApplication"
    .. >
 ..
</application>

谢谢你的回答,Jake。我没有考虑过扩展MultiDexAplication。 结果我决定使用API 23进行编译,因为它本身支持multidex(由于ART Runtime)。 - Vinícius Filenga

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接