ラベル Android Studio の投稿を表示しています。 すべての投稿を表示
ラベル Android Studio の投稿を表示しています。 すべての投稿を表示

2014年12月6日土曜日

Android : Gradle DSL method not found 'zipAlign()' もしくは 'runProguard()'


このエントリーをはてなブックマークに追加
Android Studio をアップデートすると度々はまる Gradle 系のエラー。
Android Toos Project Site の更新履歴によると、
zipAlign は zipAlignEnabled、runProguard は minifyEnabled にプロパティ名が変わったようです。
build.gradle で zipAlign true と書いていた部分を
zipAlignEnabled true に書き換えると回復し、ビルドできるようになりました。

2014年11月8日土曜日

Android Stduio : Generate Signed APK 時の MissingTranslation エラーを回避する


このエントリーをはてなブックマークに追加
values 以下の string リソースを持ったファイル(一般的に strings.xml, arrays.xml)の resources タグに以下のような属性を追加します。

<?xml version="1.0" encoding="utf-8"?>
<resources
    xmlns:tools="http://schemas.android.com/tools"
    tools:ignore="MissingTranslation">

この方法だと、以下のように個別の item に translatable="false" をつけることなく一括で設定できます。

<string name="hello" translatable="false">hello</string>

Settings の Inspections から Incomplete translation の設定を Error から Warning にしても、build.gradle で lintOptions に abortOnError false をつけていても Generate Signed APK で署名付き APK を作るときはどうしてもエラーでビルドが中断してしまっていたので、この方法で解決しました。

参考 : Avoid Android Lint complains about not-translated string

2014年10月30日木曜日

AndroidStudio : Could not find property 'Compile' on project ... の解決方法


このエントリーをはてなブックマークに追加
tasks.withType(Compile) {
    options.encoding = 'UTF-8'
}


build.gradle の上記の記述の
Compile を JavaCompile に変更したら治りました。

tasks.withType(JavaCompile) {
    options.encoding = 'UTF-8'
}


Android Studio をアップデートして Gradle のバージョンも上がったのですが、
Gradle 2.0 から Compile オプションは廃止されたようです。

2014年8月28日木曜日

Android Studio : Error:(1, 0) Plugin with id 'android' not found.


このエントリーをはてなブックマークに追加

解決策


builde.gradle の先頭、apply plugin: 'android'の前に以下のように buildscript ブロックを追加してから Sync しました。(build.gradle は1つのプロジェクトに2つありますが、apply plugin: 'android' のある方、階層的に深い位置にある方です。)
buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.11.+'
    }
}

android plugin: 'android'
...
参考 : Android Studio: Plugin with id 'android-library' not found
Android Studio Error: (8, 0) Plugin with id 'android' not found

Android Studio : Manifest merger failed : uses-sdk:minSdkVersion 8 cannot be smaller than version 8 declared in library com.google.android.gms:play-services:5.2.08


このエントリーをはてなブックマークに追加
Android Studio で出る上記タイトルのエラー。

原因は Google Play Services が minSDKVersion が 9 以上でないと使えないとのことなので、素直に build.gradle に記載している minSDKVersion を 9 以上にすれば解決します
(Eclipse を使われている場合は AndroidManifest.xml を直編集だと思います。)

ちなみに、SDK Version 8 は Froyo (バージョン2.2)で、2014/8/28 現在で、割合にして 1% 切ってました(0.7%)。もうほとんどないですね。

一方、SDK Version 9 の Gingerbread (バージョン2.3.3) は、まだ 17.8% とそれなりにあるようです。

参考 : Android Dashboards -> Platform Versions

Android Studio : cannot.find.zip.align=The zipalign tool was not found in the SDK.


このエントリーをはてなブックマークに追加
cannot.find.zip.align=The zipalign tool was not found in the SDK.

Please update to the latest SDK and re-export your application
or run zipalign manually.

Aligning applications allows Android to use application resources
more efficiently.
久々に Android Studio でパブリッシュ用の Singed APK をビルドしようと思ってら、 上記のようなエラーが出ました。
ビルド中に zipalign が見つからなかったようです。
\sdk\build-tools\(version) 以下にはあるようなのですが…。

解決策


\sdk\build-tools\android-4.4W (どのバージョンにでもあるのでどこでも良いです)

にある zipalign.exe を

\sdk\tools

に配置したら直りました。 
それぞれ、フルパスで書くと

C:\Program Files (x86)\Android\android-studio\sdk\build-tools\android-4.4W



C:\Program Files (x86)\Android\android-studio\sdk\tools

でしたが、これは Android Studio のインストール先によりますので、参考程度に。

参考 : cannot find zip-align when publishing app

参考先によると、SDK Manager でビルドツールをアップデートして Android Studio を再起動すれば直ると書いてあるので、この方法も試してみると良いかもしれません。自分の場合は直らなかったので、zipalign をコピーしました。