gradle なら AndroidManifest.xml 内 <uses-sdk> が不要だった件

_uses-sdk____Android_Developers

Android Studio が警告なフキダシを出してる.

main_AndroidManifest

記述が2箇所あってきもちが悪かったのですが.

build.gradle

android {
    ...
    defaultConfig {
        minSdkVersion 9
        targetSdkVersion 19
    }
    ...
}

AndroidManifest.xml

<uses-sdk
    android:minSdkVersion="9"
    android:targetSdkVersion="19"/>

Android Studio の設定で「バージョン」の記述してるとこありすぎね?

で, AndroidManifest.xml側の記述は不要らしい.

Gradle overrides the manifest values, and I prefer to update build.gradle file rather than manifest. And probably this is the right way using Gradle. Gradle supports product flavours which can be controled via IDE and those product flavors can change many things in our Manifest like package name, version code, version name, target SDK and many other. Then by one click in Android Studio You can change many properties and generate another apk.

You can left the manifest as it is and do all configuration in build.gradle. You can safely remove

<uses-sdk></uses-sdk>

from manifest as well as version codes.

Android studio: why are minSdkVersion and targetSdkVersion specified both in AndroidManifest.xml and build.gradle? - Stack Overflow

Gradle が自動埋め込んでくれるっぽい.

apk化後, バラしてみてみると確認できます.

android-apktool - A tool for reverse engineering Android apk files - Google Project Hosting


ひさびさに更新したら動かないプロジェクトたち #androidstudio

8/1 になんだかんだというのでちまちまやってるといろんなことがおこる.

【 Android_ID / IMEI を使ったらアウト?! 】8/1 以降 「端末の特定」はすべて Google「広告ID」経由に

build tool を 19.1.0 にする.

android {
    compileSdkVersion 19
    buildToolsVersion ’19.1.0'

Gradle Plugin のバージョンを 0.12.0 以降にする.

buildscript {
    dependencies {
        classpath 'com.android.tools.build:gradle:0.12.+'

Error:The project is using an unsupported version of Gradle. Please use version 1.12.
Please point to a supported Gradle version in the project's Gradle settings or in the project's Gradle wrapper (if applicable.)

gradle/wrapper/gradle-wrapper.properties

distributionUrl=http\://services.gradle.org/distributions/gradle-1.12-all.zip

Error:Execution failed for task ’sample:processDefaultFlavorDebugManifest'.
> Manifest merger failed : uses-sdk:minSdkVersion 17 cannot be smaller than version L declared in library com.android.support:appcompat-v7:21.0.0-rc1

appcompat が 21 を拾ってエラー
→ 19.+ に

dependencies {
    compile 'com.android.support:appcompat-v7:19.+'
    compile 'com.google.android.gms:play-services:+’

Warning:(21, 25) Not targeting the latest versions of Android; compatibility modes apply. Consider testing and updating this version. Consult the android.os.Build.VERSION_CODES javadoc for details.

android {
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7

Gradle のバージョンて こんな風になってたのかっ

Android_Studio_Gradle_issue_upgrading_to_version_0_5_0_-_Gradle_Migrating_From_0_8_to_0_9_-_Also_Android_Studio_upgrade_to_0_8_1_-_Stack_Overflow

Android Studio Gradle issue upgrading to version 0.5.0 - Gradle Migrating From 0.8 to 0.9 - Also Android Studio upgrade to 0.8.1 - Stack Overflow


「Android-L」を実装するために見ておくページs

とりあえず一般リリースまで集めていく.

Material_Design___Android_Developers

Material Designは静止画で見るとフラットデザインっぽいですが、思想や使い心地は異なったものです

ウェブやiOSにもサービスを提供している場合は、どのようにMaterial Designを取り入れるのがユーザにとって一番良いのか考える必要があります

Android L Developer Previewは、まだプレビュー感が強いのでただちに移行するということはないが、ウォッチはしていた方が良いです

Material Designの目指すところとAndroid側の変更点 - クックパッド開発者ブログ

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:state_enabled="true"
        android:state_pressed="true">
        <objectAnimator
            android:duration="@android:integer/config_shortAnimTime"
            android:propertyName="translationZ"
            android:valueFrom="@dimen/button_elevation"
            android:valueTo="@dimen/button_press_elevation"
            android:valueType="floatType" />
    </item>
    <item>
        <objectAnimator
            android:duration="@android:integer/config_shortAnimTime"
            android:propertyName="translationZ"
            android:valueFrom="@dimen/button_press_elevation"
            android:valueTo="@dimen/button_elevation"
            android:valueType="floatType" />
    </item>
</selector>

Floating Action Button (requires Android-L preview)

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin"
    tools:context=".MainActivity">
 
    <android.support.v7.widget.RecyclerView
        android:id="@+id/recycler_view"
        android:scrollbars="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>
 
</RelativeLayout>

RecyclerView example | Code Random

Palette palette = Palette.generate(photo); // photo は Bitmap

// get○○○Color()で任意のパレット色が取得できる

// VibrantColor
palette.getLightVibrantColor().getRgb();    // 明るい
palette.getVibrantColor().getRgb();
palette.getDarkVibrantColor().getRgb();     // 暗い

// MutedColor
palette.getLightMutedColor().getRgb();      // 明るい
palette.getMutedColor().getRgb();
palette.getDarkMutedColor().getRgb();       // 暗い

[Android] android.support.v7.graphics.Palette がいい感じかも - adakoda

1.material design specification.をみる
2.マテリアルテーマをアプリに適用する
3.マテリアルテーマをカスタマイズするためにスタイルの定義を加える
4.マテリアルデザインガイドラインに従ってレイアウトを作る
5.影を適用するために、viewにelevationを指定する
6.リストやカードなどのcomplex viewに新しいWidgetを作る
7.新しいAPIを使ってアニメーションをカスタマイズする

L Developer Preview マテリアルデザインを始める - Firespeed

compile 'com.android.support:cardview-v7:+'
compile 'com.android.support:recyclerview-v7:+'
compile 'com.android.support:palette-v7:+'

For Android Material support libraries, where can I find CardView and RecyclerView? - Stack Overflow

RecyclerView を使用すると、アイテムのサイズが固定長の場合に、従来よりも良いパフォーマンスが得られる(※2)ほか、
アイテムの追加、削除時などのアニメーション(※3)についても、デフォルトで利用することができます。

[Android] RecyclerView を使ってみました - adakoda
とりあえず, やみくもに集める.
ある程度たまったらまとめよう.

(随時更新中...)