私はこの質問が何百万回も依頼されていることを知っていますが、私の特定の状況への答えを見つけることができませんでした。私は、すべてのコードとライブラリをインポートする他のモジュールをいくつか持っているライブラリを持っています。java.lang.RuntimeException:アプリケーションをインスタンス化できません。 ClassNotFoundException:クラスが見つかりませんでした
両方のマニフェストでは、このような基本アプリを使用しています。
<application
android:name="co.android.mylibrary.BaseApp"
android:allowBackup="false"
android:fullBackupContent="false"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:largeHeap="true"
android:theme="@style/AppTheme"
tools:replace="android:icon,android:theme, android:allowBackup">
、ビルドの依存関係は次のようになります。multidexを初期化する
dependencies {
releaseCompile project(path: ':mylibrary', configuration: 'release')
debugCompile project(path: ':mylibrary', configuration: 'debug')
}
マイベースアプリケーションの方法:
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
try {
MultiDex.install(this);
}catch (RuntimeException e){}
}
私は両方で追加したというのが私のProGuardの規則の一部、ロケーション(ライブラリとアプリケーション)。これらには、第三者図書館や私のクラスのいくつかの規則は含まれていません。
-keep public class * extends android.app.Activity
-keep public class * extends android.app.Application
-keep public class * extends android.app.Service
-keep public class * extends android.content.BroadcastReceiver
-keep public class * extends android.content.ContentProvider
-keep public class * extends android.view.View
-keep public class co.android.mylibrary.data.greendao.**{ *; }
だから、このアプリは私のS8に細かい動作しますが、ProGuardのが有効になっていて、その収縮資源、リリース用のビルドのようにされている場合モトG.のようないくつかの携帯電話に彼らはまた、正常に動作しないでしょう。私が気づいた別の奇妙な振る舞いは、私が自分のコードのいくつかの部分にブレークポイントを設定し、リリースビルドを実行すると(デバッグ可能なものをtrueに設定して)、s8を壊すでしょう。
なぜこの奇妙な動作ですか?非常に似ていると感じた別の質問はunable to instantiate application - ClassNotFoundExceptionです。しかし、解決はまだありません。
これはエラーの完全なログです。パッケージ名は無視してください。
@Mostafa Anterからsuggestiongsに基づいて、私は自分のアプリケーション上でライブラリをコンパイルする方法を、変更後の編集
:それは私にこのエラーを与え始め
compile project(path: ':mylibrary', configuration: 'debug')
。私は私のインスタント実行をオフにしている。
ClassNotFoundExceptionのlogcatの詳細を表示できますか? – JRG