ARTICLE LIST

Android: java.util.zip.ZipException: duplicate entry: xx/xx/Xxxxx.class

Android アプリの Gradle ビルドを走らせたときに下記のエラーに遭遇。

java.util.zip.ZipException: duplicate entry: xx/xx/Xxxxx.class

エラーからすると Xxxx.class に重複したエントリーがあるということを教えてくれているようです。

なるほどなるほどと、該当の箇所をみてみると確かにバージョン違いの同名 jar ファイルがありました。

同名 jar ファイルを一つだけにしてビルドしたらビルド成功。

そういえば、とある SDK をアップグレードする際に、とりあえず jar ファイルだけ置いておいて放置したやつが影響していました。。。

凡ミス。

Android: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process ‘command ’~~~/jdk1.7.0_75.jdk/Contents/Home/bin/java’’ finished with non-zero exit value 1

Android アプリの開発をしているときに Android Studio を 2.1.0 から 2.2.0 にアップグレードした際に、Gradle ビルドで下記のエラーが発生しました。

com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException:
    Process 'command '~~~/jdk1.7.0_~~.jdk/Contents/Home/bin/java'' finished with non-zero exit value 1

JDK 1.7 が何かやっちゃってるのかと思って、このプロジェクトで JDK のバージョンをしている箇所を探しました。

どうやら .iml(モジュール定義ファイル)で指定しているようで、そこには XML で下記のように定義されていました。

<orderEntry type="jdk" jdkName="1.7" jdkType="JavaSDK" />

上位設定を受け継ぐように書き換えます。

<orderEntry type="inheritedJdk" />

その上で JDK 1.8 をインストール。

すると無事ビルドが通りました。

なぜ JDK 1.7 だと駄目なのかは分からず終い…。

Android: Unsupported method: AndroidProject.getPluginGeneration().

Android アプリの開発をしているときに Android Studio を 2.1.0 から 2.2.0 にアップグレードした際に、Gradle ビルドで下記のエラーが発生しました。

Unsupported method: AndroidProject.getPluginGeneration().
The version of Gradle you connect to does not support that method.
To resolve the problem you can change/upgrade the target version of Gradle you connect to.
Alternatively, you can ignore this exception and read other information from the model

使っている Gradle のバージョンがメソッド AndroidProject.getPluginGeneration() をサポートしていないというエラーです。

本当なら Gradle をアップグレードしたいところですが、諸々あって別の方法を探しました。

どうやら調べてみると Android Studio 2.2 から自動で有効になった? Instant Run が影響しているようでした。

Instant Run は、初回ビルド以降、新規に APK をビルドすることなく、アプリの更新内容をプッシュできるため、変更点を素早く確認できるようになる機能です。

この機能を無効にするには設定からおこないます。

Keep reading

Categories