古いADTプロジェクトをAS2.3化した物をビルドする上でハマったメモ
はじめに
偶に古いADTプロジェクトをAS対応すると、単に移行するだけなのに結構ハマることがあるのでメモしておく
多分最新の build-toolsとかに対応していない google play services とか使うからなんでしょうけどね・・
動作環境
具体例
レイアウトが崩れる
android
— close_yutori (@kimukou2628) July 21, 2017
古いプロジェクトを
新しいbuildTargetでbuildしただけで
layoutがガタガタに崩れちゃって
修正方法に途方に暮れてる。
LinerLayoutが縦つぶれしてる状態
layout Previewでは普通に見えるのにな、、、
android
— close_yutori (@kimukou2628) July 21, 2017
今日はtargetSdkVersionが変更されるとlayoutがガタガタに崩れる事がある
という知見を学んだ。
省略してると、勝手に最新版遣われる。
compileSdkVersionとかbuildSdkVersionとかサポート系のver依存ではないんだね
これ LinerLayoutの
- match_content/wrap_content 指定が効かない
- android.jarのバージョンにより直った?
みたいな話のやつ。ネットで言及例であげられていたのはRecyclerViewででしたね。。
今回の場合は targetSdkVersion 18 でなんとかなりました。
google analytics を使っているプロジェクト
google play service
— close_yutori (@kimukou2628) July 19, 2017
plugin 2.1.2 で
debug/google-services.json
をFlavor無しで上書きしてくれて助かった~(^^;;
古いプロジェクトは古いgoogle play現役だしね、、
"analytics_service": { "status": 2, "analytics_property": { "tracking_id": "UA-XXXXXX" } }, と手で修… https://t.co/tFdZPFc8sZ …
— close_yutori (@kimukou2628) July 19, 2017
Firebase Analytics は
— close_yutori (@kimukou2628) July 19, 2017
フリープランだとまともにつかえないので
(短いIDラベルのみ、件数のみ、top5件のみ)
いまだにGoogleAnalyticsの方使いたい
って話多いんだよな~(^^;;
新規ユーザーは全てFirebaseサイトにリダイレクトだけど
まだFebricsの
— close_yutori (@kimukou2628) July 19, 2017
Answerの方が使えるという、、、
でもこっちはG様買収したから何時まで使えるか解らんのが
正直なところ
現在 GAって新規受付は終了していて、基本的にFirebaseに飛ばされます。
ただFirebaseだと無料枠の制限が凄く厳しい。
でGAのアカウントをもっている人であれば、そちらの機能を使いたいわけです。
で、現在 services.jsonが取得できるFirebaseのサイトだと、
GAの global_tracker.xml の自動生成ができない記述だから
手動で services.jsonを直す必要があるという話
- 変更前(FA標準)
analytics_service": { "status": 1 },
- 変更後
analytics_service": { "status": 2, "analytics_property": { "tracking_id": "UA-XXXXXX" } },
annotationProcesser や apt plugin が動かないプロジェクト
compileSdkVersion "Google Inc.:Google APIs:24"
あたりを使うと annotationProcesser がなぜか現在動かない ので *1
- ADT経由で .apt_gerenated を生成して
- .apt_gerenated => apt_gerenated フォルダとして appフォルダにコピー
- build.gradle で参照させる
みたいな話になる
- app/build.gradle
android{
sourceSets {
main {
java.srcDirs += ['apt_generated']
}
}
}
まあ、昔書いた手動タスクを書けばいいんだけど今更感が強いし(苦笑
*1:buildToolsが古いときは動いていたような・・<汗