4

android.support.v7.appcompat v21 を使用する Samsung 4.2.2 デバイスには大きな問題があります。

https://code.google.com/p/android/issues/detail?id=78377

この問題を回避するために、.m2repository から v21 appcompat aar を取得することを考えました。

  1. appcompat-v7-21.0.0.aar を解凍します
  2. jarjar を使用して、ルール付きの classes.jar を処理します (ルール android.support.** android.support.@1)
  3. classes.jar を再パッケージ化された classes.jar に置き換えます
  4. appcompat-v7.21.0.0.aar を圧縮
  5. 再パッケージ化された aar を手動で build.gradle (compile(name:'appcompat-v7-21.0.0', ext:'aar') に、build.gradle リポジトリ セクションの libs フォルダーの flatDir と共に含めます)。

問題は、再パッケージ化された aar でコンパイルすると、マニフェストのマージから FileNotFoundException が発生することです。だから、私がやっていることさえ可能かどうか、可能であれば私のエラーが何であるかを判断しようとしています.

これが私が得るエラーです:

エラー: タスク ':app:processDebugManifest' の実行に失敗しました。

com.android.manifmerger.ManifestMerger2$MergeFailureException: java.io.FileNotFoundException: app/build/intermediates/exploded-aar/appcompat-v7-21.0.0/AndroidManifest.xml (そのようなファイルまたはディレクトリはありません)

編集:

パス app/build/intermediates/exploded-aar/appcompat-v7-21.0.0/ を見ると、 AndroidManifest.xml が確実に存在します。

4

0 に答える 0