すべては, 以下にあるやつ今現在最新のサンプルUI系をLollipopで動かす.
AndroidStudio の ImportSample のプレビューが表示されないので並べて置くと何かと便利かななどと思い.
パーツやふるまいの名前が分かればそれで良かったのでYouTubeのGIF書き出しでやろうかと思いましたが, 一般公開間近の非公開ステータス.
Nexus6でやってます.
こんな感じで40個くらい.
以下から順不同で.
すべては, 以下にあるやつ今現在最新のサンプルUI系をLollipopで動かす.
AndroidStudio の ImportSample のプレビューが表示されないので並べて置くと何かと便利かななどと思い.
パーツやふるまいの名前が分かればそれで良かったのでYouTubeのGIF書き出しでやろうかと思いましたが, 一般公開間近の非公開ステータス.
Nexus6でやってます.
こんな感じで40個くらい.
以下から順不同で.
Androidアプリでメソッド数が65536を超える場合は少し手間が掛かっていました.
Androidでメソッド数が65536を超えた時の対処方法 - Qiita
GoogleAnalyticsやGoogleMapなどを利用できるライブラリ com.google.android.gms:play-services ですが、実は使っている機能は1つか2つということが多いのではないでしょうか。
com.googleは18513個もメソッドがあるので、これを節約するだけでかなりメソッドの数が減ります。
このよく言われている「com.google.android.gms:play-services」がでかすぎという話.
必要なものだけピックアップして使えるようになったようです.
Setting Up Google Play Services | Android Developers
自動で, com.google.android.gms:play-services-base:6.5.87 が読み込まれたりするし, どれを使うべきなのかわかりづらいようなものもあるように思えたり.
あと, 公式ドキュメントや AndroidStudio の自動チェックで, 「推奨」から「非推奨」と言われ始めたバージョン記述「+」で書かれていたり.
compile 'com.google.android.gms:play-services:6.5.+'
compile 'com.google.android.gms:play-services-fitness:6.5.+'
compile 'com.google.android.gms:play-services-wearable:6.5.+'
これらの「+」記述は, 最新 Android Studio 1.0 でも警告される.
こう書いてるけど.
At the time of writing, the correct version to use is 6.5.87. As this is a very granular number, it will get updated quite quickly, so be sure the check the latest version when you are coding. Often people will use a ‘+’ to denote versions, such as 6.5.+ to use the latest 6.5 build. However, it’s typically discouraged to use a ‘+’ as it can lead to inconsistencies.
でも, やっぱり「+」は怖くないですか.
Google Play services and DEX method limits | Android Developers Blog
こゆのでてない?
java.lang.NoClassDefFoundError: com.myapp.MyClassExtendingAsyncTask
at com.myapp.x.run(SourceFile:417)
at android.os.Handler.handleCallback(Handler.java:587)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:130)
at android.app.ActivityThread.main(ActivityThread.java:3859)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:889)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:647)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.ClassNotFoundException: com.myapp.MyClassExtendingAsyncTask in loader dalvik.system.PathClassLoader[/data/app/com.myapp-1.apk]
at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:240)
at java.lang.ClassLoader.loadClass(ClassLoader.java:551)
at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
あたし的には, 2.x 系ででてるけど, それだけではないのか.
java.lang.NoClassDefFoundError: android/os/AsyncTask - Google グループ
解決方法としては以下が挙げられてる.
try
{
Class.forName("android.os.AsyncTask"); //it prevents AdMob from crashing on HTC with Android 4.0.x
}
catch(Throwable ignored)
{}
The AsyncTask class must be loaded on the UI thread. This is done automatically as of JELLY_BEAN.
これはどこがアナウンスするべきなのだろうか.
他にもいろいろあるような気もするけども.