問題タブ [android-multidex]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - Android Studio - java.lang.RuntimeException: アプリケーションをインスタンス化できません
私はEclipseでプロジェクトに取り組んでいますが、しばらくすると次のようなエラーが発生します"Unable to execute dex: method ID not in" as single DEX file having 65k method limitations.
問題を解決するために、私はAndroid StudioGradle plugin v0.14.0 for Android adds support for Multi-Dex.
に移行しました。
Eclipse からの移行に従って、SDK を更新し、プロジェクトを Eclipse からエクスポートしました。
これで、Android Studio で必要なプロジェクト構造ができました。プロジェクトは、ABS、Google Play サービス ライブラリ、Android マルチデックス サポート ライブラリに依存しています。これらのライブラリを「libraries」という名前のプロジェクト フォルダに追加しました。
Project Gradle ファイルは以下のようになります。
プロジェクトをクリーンアップしてビルドすると、正常にビルドされます。しかし、プロジェクトをAndroidアプリケーションとして実行すると、次のエラーが発生します:
アプリケーションが AndroidManifest.xml をコンパイルしていないと思いますか、それとも何か不足していますか? どんな助けでも大歓迎です。:)
android - 「サポートされていないメソッド: SourceProvider.getJniDirectories()」と「Gradle DSL メソッドが見つかりません: 'multiDexEnabled()'」
多くの依存関係を持つアプリがあります"Unable to execute dex: method ID not in [0, 0xffff]: 65536" after update repositories.
次に、ここで解決策を見つけました。
ただし、これらの指示に従った後、エラーが発生し始めました"Gradle DSL method not found: 'multiDexEnabled()".
次に、解決策は、追加してgradleを更新することであることがわかりました
"classpath.'com.android.tools.build:gradle:0.14.0'" to dependencies.
その後、エラーが発生し始め"Unsupported method: SourceProvider.getJniDirectories()"
、解決策はgradleを「0.13.+」に戻すことであるという多くの投稿を見つけました。
しかし、gradle 0.13.+ は multiDexEnabled を認識せず、最初のエラーが表示されます"Gradle DSL method not found: 'multiDexEnabled()'"
。
私が使用する依存関係が多いため、multiDex を使用する必要があり、Jni も使用します。したがって、1 つのソリューションが他のソリューションを壊します。
[更新] 役立つ情報: Eclipse で multidex のソリューションが見つからなかったため、プロジェクトを Eclipse から Android Studio に移行しました。
誰も同じ問題を抱えていましたか?その解決策はありますか?
ありがとう!
android - マルチデキシング後の NoClassDefFoundError
65k メソッドの制限を取得した後、マルチデックスを実装しました。multidexing を実装した後、アプリケーションを実行できます。しかし今、外部jarから使用したクラスの1つに対してNoClasDefFoundErrorというエラーが発生しています。
これが私のgradleファイルです--
android - Android MultiDex - 内部構造に関する質問
私は最近、65,000 を超える参照を持つアプリを操作するための Android の新しい MultiDex 機能を発見しました。参照: https://developer.android.com/tools/building/multidex.html
誰かが次の質問を理解するのを手伝ってくれますか:
1) Gradle ビルド プラグインは、プライマリ dex ファイル (classes.dex) とセカンダリ dex ファイルに何を入れるかをどのように決定しますか? ドキュメントに基づいて、プライマリ dex に必要な特定の事項がありますが、例はありません。すべてのアクティビティをプライマリ dex ファイルに含める必要がありますか?
引用文:
Dalvik ランタイムで実行する場合、プライマリ dex ファイルで必要なクラスに関して複雑な要件があります。Android ビルド ツールの更新は Android の要件を処理しますが、他の組み込みライブラリには、イントロスペクションの使用やネイティブ コードからの Java メソッドの呼び出しなど、追加の依存関係要件がある可能性があります。一部のライブラリは、multidex ビルド ツールが更新されて、プライマリ dex ファイルに含める必要があるクラスを指定できるようになるまで使用できない場合があります。
2) Android API レベル 21 (Android L) 以降のみをビルドする場合、Gradle Build Plugin の動作が異なります。「アプリケーションの各モジュール (依存関係を含む) を個別の dex ファイルとしてビルドするため、はるかに高速です。これは、一般に pre-dexing と呼ばれます。」Androidのモジュールの定義は何ですか? これは、http: //developer.android.com/sdk/installing/studio-build.html#projectModulesで言及されている Java ライブラリ、Android ライブラリ、および Android アプリケーション モジュールですか? リモートまたはローカルのバイナリ依存関係 (例: Jar) は個別のモジュールとしてカウントされるため、別の dex ファイルに入れられますか、またはそれらに応じてモジュールに含まれますか?
android - MultiDex - QBUser Quickblox クラスが見つかりません
アプリケーションで Quickblox を使用しようとしています。Multidex apk ファイルが正しく生成されます。ただし、QbUsers クラスを取得しようとすると、実行時に問題が発生します。
コードは次のとおりです。
例外:
java.lang.NoClassDefFoundError: com.sc.triumph.chatsingleton.ApplicationSingleton.setDialogsUsers(ApplicationSingleton.java:51) の com.quickblox.module.users.model.QBUser com.sc.triumph.activities.UnjoinClubActivity$4$1.onSuccess (UnjoinClubActivity.java:394) com.sc.triumph.activities.UnjoinClubActivity$4$1.onSuccess(UnjoinClubActivity.java:387) com.quickblox.core.query.Query.notifySuccess(Query.java:307) com. quickblox.core.query.Query$VersionEntityCallback.completedWithResponse(Query.java:339) com.quickblox.core.query.Query.completedWithResponse(Query.java:253) com.quickblox.core.server.HttpRequestRunnable$1.handleMessage (HttpRequestRunnable.java:38) android.os.Handler.dispatchMessage(Handler.java:99) で android.os.Looper.loop(Looper.java:137) で android.app.ActivityThread.main(ActivityThread.java:4963) で java.lang.reflect.Method.invokeNative(ネイティブ メソッド) で java.lang.reflect.Method.invoke( Method.java:511) com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1038) で com.android.internal.os.ZygoteInit.main(ZygoteInit.java:805) で dalvik.system .NativeStart.main(ネイティブメソッド)java:805) dalvik.system.NativeStart.main (ネイティブ メソッド) でjava:805) dalvik.system.NativeStart.main (ネイティブ メソッド) で
マルチデックス以外のアプリケーションで同じ関数を使用すると、正常に動作します。
何が問題なのかを理解するための助けを期待していますか?
android - Eclipseでandroid-support-multidex.jarが機能しない
最近、Android プロジェクトで 65K メソッドの制限の問題に直面しました。その後、そのプロジェクトに multidex を実装し始めました。このサポート ライブラリを Eclipse に追加しようとしても、問題は解決しません。それでも65Kの制限を示しています。しかし、Gradle + Android studio で正常に動作している場合。日食でこれを達成するにはどうすればよいですか? 今は Android studio に切り替えたくないからです。
ここに私が従った手順があります、
1) android-support-multidex.jar をビルド パスに追加し、2) Application クラスの以下のメソッドをオーバーライドしました。カスタム Application クラスをサブクラス化しているためです。
しかし、日食でこれを達成することはできません。これに対する解決策はありますか?
android - エラー: タスク ':shrinkDebugMultiDexComponents' の実行に失敗しました
次のエラーが表示されます。
gradle
この問題は、次のバージョンよりも高いバージョンで発生します。"com.android.tools.build:gradle:0.14.1"
何が起こっているのかわかりません。誰もこのような問題に遭遇しましたか?