2014年12月13日土曜日

Android Studioを0.8.14 → 1.0.0 に変更でハマったこと

環境:OS X Mavericks 10.9.5
Android Studio
0.8.14 → 1.0.0に変更


ダウンロード


  • build.gradleのAndroid Gradle Plugin のバージョンの記述が自動で書き換えられた(0.12.+ → 1.0.0)
  • gradle/wrapper/gradle-wrapper.propertiesが自動更新された
  • gradle/wrapper/gradle-wrapper.jarが自動更新された

以下、ハマったところ

mavenrepoのエラー

Error:Gradle DSL method not found 'mavenrepo()’

対処

mavenRepo urls: [
    "http://hogehoge” 
]
maven {
    url 'http://hogehoge'
}

buildTypesでエラー

Android Gradle Plugin 0.14.0でプロパティの名称が変わっている
  • BuildType.runProguard -> minifyEnabled
  • BuildType.zipAlign -> zipAlignEnabled
  • BuildType.jniDebugBuild -> jniDebuggable
  • BuildType.renderscriptDebug -> renderscriptDebuggable
  • ProductFlavor.renderscriptSupportMode -> renderscriptSupportModeEnabled
  • ProductFlavor.renderscriptNdkMode -> renderscriptNdkModeEnabled

Compileの記述エラー

Error:Could not find property on project ‘:(プロジェクト名)’

対処

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

wrapperのエラー

Error:Cannot create task of type “Wrapper” as it does not implement the Task interface.

Android Studioのbuild.gradleには、Gradleラッパーの生成用のタスクの記述はにいらなかった!

対処

下記記述削除

task wrapper(type: Wrapper) {
gradleVersion = ‘1.10'
}


他参考

Android StudioのバージョンとAndroid Gradle Pluginのバージョンと


2014年11月26日水曜日

ローカルブランチとリモートブランチの紐付け

ローカルブランチとリモートブランチの紐付けの新規設定(または変更)


$ git branch (ローカルブランチ名) -u origin/(リモートブランチ名)


各ローカルブランチのリモートブランチへの紐付け状態の確認


$ git branch -vv

2014年11月22日土曜日

Androidの各アイコンサイズ一覧など(ちょこっとWearにも触れてます)

Androidの各アイコンサイズ一覧

種類 アプリアイコン
(ランチャーアイコン)
アクションバーの
メニューアイコン
通知
アイコン
通知アクション用
アイコン※1
dpi48×48dp32×32dp※2
(実描画:24dp)
24×24dp※2
(実描画:22dp)
32×32dp※2※3
(実描画:24dp)
Playストア用512×512px---
xxxhdpi(×4)192×192px128×128px
(96×96px)
96×96
(88×88px)
128×128px
(96×96px)
xxhdpi(×3)144×144px96×96px
(72×72px)
72×72px
(66×66px)
96×96px
(72×72px)
xhdpi(×2)96×96px64×64px
(48×48px)
48×48px
(44×44px)
64×64px
(48×48px)
hdpi(×1.5)72×72px48×48px
(36×36px)
36x36px
(33×33px)
48×48px
(36×36px)
mhdpi(標準)48×48px32x32px
(24×24px)
24x24px
(22×22px)
32x32px
(24×24px)

※1.通知のアクションの機能はAndroid4.1(API16)に追加された機能になります。
※2.エリアサイズと実描画(内枠)があり、画像内に余白が必要になります。(詳しくは下記へ)
※3.Wear用の通知アクション用アイコンは、通常の2倍のサイズとなります。(詳しくは下記へ)

アイコンのエリアサイズと実描画(内枠)について

例:
アクションバーのメニューアイコンのmhdpi(標準)のとき
  • エリアサイズが32×32px
  • 実描画が24×24px
なので、
  • 画像のサイズ … 32×32px
  • 画像内の余白(パディング) … 上下左右に4px
  • 実描画の領域 … 中央に24×24px

となります。


Wear用の通知アクション用アイコンのサイズについて

Wear用の通知アクション用アイコンは、通常の通知アクション用アイコンと比べ、2倍のサイズとなります。

よって、64×64dp(実描画:48×48dp)となり、
xxhdpiだと192×192px(148×148px)になります。

アイコンは、NotificationCompat.Actionや、NotificationCompat.WearableExtender#addActionを利用して設定します。


例:

final NotificationCompat.Builder builder = new NotificationCompat.Builder(context);


NotificationCompat.WearableExtender wearableExtender = new NotificationCompat.WearableExtender();
wearableExtender.addAction(new NotificationCompat.Action.Builder(R.drawable.ic_wear_action_icon, "タイトル", pendingIntent).build());
builder.extend(wearableExtender);


参考:Android Wear に Notification で出来ることhttp://y-anz-m.blogspot.jp/2014/07/android-wear-notification.html

2014年11月16日日曜日

UbuntuでもAndroid Studio0.8.14へアップデート

この前書いたブログ(Android Studio0.8.14へアップデート時にハマったこと)の警告ダイアログが、
Ubuntuの環境でも出ました。


環境:ubuntu 14.04 LTS
Android Studio
0.8.9 → 0.8.14にアップデート


0.8.14にアップデートしようとすると、次の警告のダイアログが出ます。


The Android SDK folder can no longer be inside the application folder .
Please move it to a different location such as your home folder.

sdkフォルダの場所が不適切なので、移動が必要しましょう、とのことです。
初期配置が、Android Studioのアプリフォルダ内になっているので、移動が必要になります。


SDKフォルダの移動し、Retryを選択

警告ダイアログをそのままの状態にし、SDKフォルダを移動します。
Exitを押した時は、SDKフォルダを移動して、再度アップデートを行えば大丈夫です。

$ mv ~/app/android-studio/sdk/ ~/android_sdk/

移動したら、「Retry」を選択


更にダイアログ


Some conflicts were found in the installation area.

Please select desired solutions from the Solution column and press Proceed.
If you do not want to proceed with the update, please press Cancel.

設置場所にいくつかの競合があります。

項目を選択し「Proceed」を押してください。
アップデートを続行したくないときはキャンセルしてください。


とのことです。
今回はログファイルを消すだけのようなので、「Proceed」を押して、アップデート続行


以上でアップデート完了!


再度、Android Studioを開くと次の警告が表示されます。



SDKの移動先を選択します。
今回は、(ホームディレクトリ)/android_sdkになります。

設定確認は
File > Project Structure... > SDK Location > Android SDK location


で行えます。

2014年11月13日木曜日

Android Studio0.8.14へアップデート時にハマったこと

Ubuntu用も書きました→UbuntuでもAndroid Studio0.8.14へアップデート
(あんまり内容変わりません)

環境:mac OSX 10.9.5
Android Studio
0.8.9 → 0.8.14にアップデート時

0.8.14へのアップデートで少しハマりました。


The Android SDK folder can no longer be inside the application folder .
Please move it to a different location such as your home folder.

アプリケーションフォルダ(Android Studio.app)内にsdkフォルダがある状態は不適切なので、移動しましょう、とのことです。
SDKフォルダの初期配置が、Android Studio.app内になっているので、移動が必要になります。

SDKフォルダの移動

いったんExitを選択し、
Android Studio.app内にあるSDKのフォルダを任意の場所に移動

$ mkdir ~/android
$ mv /Applications/Android\ Studio.app/sdk/ ~/android/sdk

再度、Android Studioを開くと次の警告が表示されます。

SDKの移動先を選択します。
今回は、(ホームディレクトリ)/android/sdkになります。

設定確認は
File > Project Structure... > SDK Location > Android SDK location
で行えます。

再度アップデートの実行

(Android Studio > Check For Updates... で「Update and Restart」を選択)

Some conflicts were found in the installation area.
Please select desired solutions from the Solution column and press Proceed.

と、ログファイル消すよ!ってダイアログが出たので、Proceedを押して、アップデートを続行します。


以上で、0.8.14にアップデートできました!


iOS向けのプロジェクトを初めて作成してみた(Swift)

こちらを参考に、iOS向けのプロジェクトを初めて作成してみました。
とても分かり易かったです。

やったこと


  1. Xcode6のインストール
  2. 新規プロジェクト作成
  3. シミュレーターへRun


1. Xcode6のインストール


https://itunes.apple.com/jp/app/xcode/id497799835?mt=12
ここからXcodeをインストールします。
現状の最新版の6.1をインストールしました。
Swift対応のバージョンは6.0以降になります。

2. 新規プロジェクト作成


  • Xcodeを起動し、「Create a new Xcode project」を選択
  • iOS > Application > Single View Application を選択し「Next」を押す
  • Languageに「Swift」、Devicesに「iPhone」を選択、「Use Core Data」はチェック入れずに「Next」を押す
  • プロジェクト作成場所を選択で、作成完了

※この段階で出てくる「Product Name」「Organization Name」「Organization Identifier」「Bundle Identifer」について


  • Product Name … プロジェクト名
  • Organization Name … 会社名、団体名など。省略可
  • Organization Identifier … Androidでいうドメイン名の指定
  • Bundle Identifer … Androidでいうパッケージ名。「Organization Identifier」+「Product Name」で設定される


3. シミュレーターへRun

左上にある再生ボタンで、アプリを実行。
シミュレーターが起動し、作成したプロジェクトがシミュレーター内で実行される。


簡単なことですが、以上を行いました。

実機での実行は、
年間参加費¥7,800 (税別)のAppleの開発者登録 https://developer.apple.com/jp/programs/ios/
が必要なため、今回は行いませんでした。


2014年10月5日日曜日

apkへの署名で、「-tsaまたは-tsacertが指定されていないため、このjarにはタイムスタンプが付加されていません。」という警告が出た

署名付きapkファイル作成で警告が発生


ここ→http://techbooster.org/android/environment/1445/
を参考に、コマンドでapkファイルに署名を行うと、以下の警告文が表示された。



jarは署名されました。

警告: 
-tsaまたは-tsacertが指定されていないため、このjarにはタイムスタンプが付加されていません。タイムスタンプがないと、署名者証明書の有効期限(2042-02-19)後または将来の失効日後に、ユーザーはこのjarを検証できない可能性があります。

  • 警告は出るが、署名付きファイルは無事生成される
  • 警告は気にしなくていい、と書いているサイトもある


原因と解決方法


原因

JDKのバージョンが1.7 u51以降だったため


JDKのバージョン確認は"java -version"コマンド実行


解決方法

解決方法は3種類あります。

  1. JDK1.7 u51以前のバージョンのJDK7をインストール ※1
  2. JDK6をインストール
  3. 署名時に使うjarsignerコマンドのオプションに"-tsa http://timestamp.digicert.com"を追加
今回は3を行いました。(なので、1と2は未確認になります。)


署名用コマンドは下記のとおりです。

jarsigner -verbose -tsa http://timestamp.digicert.com -keystore hogehoge.keystore android_app.apk hogehoge


(2015/01/30 追記)
※1 jarsignerの署名方式のデフォルト値がJDK6までとJDK7以降で変更されているようなので、これにハマったので注意。→「パッケージファイルに正しく署名されていません」にハマった