問題タブ [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 MultiDex - A/libc(28851): 致命的なシグナル 11 (SIGSEGV)、スレッド 29117 (pool-16-thread-)
アプリでこのエラーが発生しますが、一部のデバイスでのみ発生します。これまでのところ、クラッシュは数件しか報告されていません。最近、multiDex のサポートを有効にしましたが、それ以来、いくつかの pre-lollipop デバイスでクラッシュします。
logcat には他の情報はありません。SOに関する他の投稿を見ましたが、それらは異なり、私の場合には当てはまりません。私はそれがメモリ使用量に関係していると思いますか?
android - Android Proguard - proguard-android-optimize.txt でビルドが失敗する
プロガードを有効にしてプロジェクトをビルドしようとしています。「proguard-android.txt」をデフォルトのルールファイルとして使用すると正常に動作しますが、「proguard-android-optimize.txt」で失敗しますが、これは理解できますが、取得しているエラーを理解していません:
そして、ボディ文字の SO 制限を超える長い説明があります。
これが私のgradleファイルです-
ここに proguard-rules.pro ファイルがあります -
編集 -エラーの関連セクション。残りの説明は警告です
そして最後にこれ -
android - ビルド ツールのバージョンを変更して Android アプリをコンパイルできない
multidex サポートを使用する必要があるため、ビルド ツール 21.1+ を使用して Android アプリをコンパイルしたいと考えています。SDK マネージャーからビルド ツール 21.1.2 をインストールしました。その後、buildToolsVersion を含めるようにすべての build.gradle ファイルを変更しました。
アプリは他のいくつかのプロジェクトに依存しているため、バージョンとパラメーターが異なるいくつかの build.gradle ファイルがあります。
また、マルチデックスに必要なその他の変更も行いました。multidex が必要なアプリでは、build.gradle を次のように変更しました。
もちろん、マニフェストをに変更しました。
問題は、すべての build.gradle の変更にもかかわらず、プロジェクトが 19.1.0 ビルド ツールでコンパイルされているように見えることです。それらを削除すると、次のエラーが発生するためです。
ビルド ツール 19 をインストールすると、プロジェクトのコンパイル プロセスがさらに進みますが、コンパイル パラメータによっては、あらゆる種類の奇妙なエラーが発生します。私が設定した場合:
プロジェクトは、dex プロセス中に奇妙なエラーでコンパイルに失敗します。しかし、両方を v 21 に設定すると、build.gradle で明示的に要求したビルド ツール 21.0+ が必要であると表示されるため、プロジェクトはコンパイルに失敗します。
プロジェクトはもともとそのように開発されたので、Android Studio の組み込みの gradle ではなく、gradle ラッパー (gradlew) を使用しています。
以下はバグの技術的な部分とは関係ありませんが、そのコンテキストを理解するのに役立つかもしれません: ros-android (android_core) ライブラリをコンパイルしようとしていますが、すべてを最新のものに更新しています: gradle 2.3 、android プラグイン 1.1.0、ビルド ツール 21.1.2、Google API 21、android studio 1.1.0。アイデアは、最新の Google API を ros-android ライブラリと組み合わせて使用できるようにすることです。
android - アプリが Robolectric 単体テストを実行できない
非常に多くのライブラリを使用する Android アプリがあり、MultiDex-ing を使用する必要があります。残念ながら、マルチデクシングを導入したとき、既存の Robolectric 単体テストは実行されなくなり、起動すらしなくなりました。マルチデクシングを追加する前に、それらは完全に正常に実行されました。
github の元のバグ投稿を参照する
https://github.com/robolectric/robolectric/issues/1328
と提案されたソリューション
https://github.com/robolectric/robolectric/pull/1457
単体テストをまだ実行できていません。
以下は、build.gradle ファイル バージョン 1 のスニペットで、最新の robolectric スナップ ショットと、コードで使用できる ShadowMultiDex.java を取得しようとしています。
コンテンツを含む org.robolectric.Config.properties ファイルも作成しました
上記を踏まえて、テスト クラスに進み、小さなテストに ShadowMultiDex を含めます。
単体テストを実行すると、アプリケーションとそのメタデータを設定するために NullPointerException が引き続き発生します。私が探しているのは、この問題を実際に修正して実行するために他の人が何をしたかを確認することです。
android - SDK 21 未満の NoClassDefFoundError
アプリで厄介なバグが発生しました。
Android 5.0.1/5.0.2 を実行している私の Nexus 5/7 では、すべて正常に動作します。ただし、以前のバージョン (4.4.4 および 4.3 でテスト済み) のデバイスでまったく同じコードを実行しようとすると、次のエラーが発生します。
私はすでにsupport.v7ライブラリをjarとして追加しようとしましたが、違いはありません。しかし、これは Lollipop デバイスで動作するため、とにかく意味がありません。
Dalvik/Art の変更に関する問題があるのでしょうか? または、かなり大きなアプリなので com.android.support:multidex:1.0.0 を使用しなければならなかったという事実かもしれません。
更新: 65k メソッドの制限を下回るように、いくつかの依存関係を削除しようとしました。その後、アプリは 4.4.4 および 4.3 デバイスで実行されました。multidex サポートを有効にするために私がしたことは、設定だけでした
defaultConfig セクションで追加
以下の私のbuild.gradleの依存関係セクションにあります。
これが古いAndroidバージョンでこれらの問題を引き起こす理由は何ですか?
java - java.lang.IllegalAccessError: ormlite を使用して予期しない実装に解決された事前検証済みクラスのクラス参照
使用時にこのエラーが発生します
削除したら
エラーは発生しません
multidex アプリケーションを使用した後、エラーが発生し始めました
android - findViewById の奇妙な ClassCastException
オンラインで奇妙な例外がスローされるのを観察します。
例外は次のようになります。
再現できませんが、ログによると時々発生します。
このアプリは、gradle を使用した公式の multidex ビルドを使用しています。