2016-05-24 2 views
2

私のプロジェクトでActiveAndroidを初期化できません。それはマニフェスト内のアプリケーションタグはそうのようにする必要がある状態です。残念ながらActiveAndroidとMultiDexApplicationの使用

<application android:name="com.activeandroid.app.Application" ...> 

、私はこの

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

としてすでにそれを持っているそれはあなたがクラスを持っていることによって問題を解決することができますと言うことアプリケーションタグ内にあるのは、ActiveAndroidのサブクラスです。

また、アプリケーション名がActiveAndroidアプリケーションクラスを指していることにも注意してください。 この手順は、ActiveAndroidが動作するために必要です。すでにカスタムApplicationクラスを指している場合は、そのクラスをcom.activeandroid.app.Applicationのサブクラスにします。

あなただけのパブリッククラスMyApplicationをがcom.activeandroid.app.Application {...

を拡張

android.app.Application

com.activeandroid.app.Applicationを拡張する代わりに、カスタムアプリケーションのクラスを使用している場合

この問題を解決する手段はありますか? Android SDKの一部であるため、コードをMultiDexApplicationクラスに変更することはできません。

答えて

3

MultiDexApplicationはアプリケーションサブクラス(MultiDexApplication)なので、ActiveAndroidを拡張して設定します。 `新しいConfiguration.Builder(この)` `ではない、新たなコンフィギュレーション(この)`でなければなりませんあなたのマニフェストで

public class MyApplication extends MultiDexApplication { 
    @Override 
    public void onCreate() { 
    super.onCreate(); 

    Configuration config = new Configuration.Builder(this) 
    .setDatabaseName("mydb.db") 
    .setDatabaseVersion(1) 
    .create(); 
    ActiveAndroid.initialize(config); 
    } 
} 

<application android:name=".MyApplication"> 
+0

。 – nasch

+0

ああ。良いキャッチ。一定。 –

+0

大きな助け..ありがとう – faruk

関連する問題