Xperia Z5 だと動かないらしい。。。

クラッシュレポート来てた、、、全部 Xperia Z5 らしい。。。

java.lang.IllegalStateException: ActionBarContextView can only be used with android:layout_width="match_parent" (or fill_parent)
	at com.android.internal.widget.ActionBarContextView.onMeasure(ActionBarContextView.java:339)
	at android.view.View.measure(View.java:17661)
	at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5536)
	at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1436)
	at android.widget.LinearLayout.measureVertical(LinearLayout.java:722)
	at android.widget.LinearLayout.onMeasure(LinearLayout.java:613)
	at android.view.View.measure(View.java:17661)
	at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5536)
	at android.widget.FrameLayout.onMeasure(FrameLayout.java:436)
	at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2618)
	at android.view.View.measure(View.java:17661)
	at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5536)
	at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1436)
	at android.widget.LinearLayout.measureHorizontal(LinearLayout.java:1083)
	at android.widget.LinearLayout.onMeasure(LinearLayout.java:615)
	at android.view.View.measure(View.java:17661)
	at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:728)
	at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:464)
	at android.view.View.measure(View.java:17661)
	at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5536)
	at android.widget.FrameLayout.onMeasure(FrameLayout.java:436)
	at android.view.View.measure(View.java:17661)
	at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5536)
	at com.android.internal.widget.ActionBarOverlayLayout.onMeasure(ActionBarOverlayLayout.java:447)
	at android.view.View.measure(View.java:17661)
	at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5536)
	at android.widget.FrameLayout.onMeasure(FrameLayout.java:436)
	at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2618)
	at android.view.View.measure(View.java:17661)
	at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2019)
	at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1177)
	at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1383)
	at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1065)
	at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5898)
	at android.view.Choreographer$CallbackRecord.run(Choreographer.java:767)
	at android.view.Choreographer.doCallbacks(Choreographer.java:580)
	at android.view.Choreographer.doFrame(Choreographer.java:550)
	at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:753)
	at android.os.Handler.handleCallback(Handler.java:739)
	at android.os.Handler.dispatchMessage(Handler.java:95)
	at android.os.Looper.loop(Looper.java:211)
	at android.app.ActivityThread.main(ActivityThread.java:5373)
	at java.lang.reflect.Method.invoke(Native Method)
	at java.lang.reflect.Method.invoke(Method.java:372)
	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1020)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:815)
java.lang.RuntimeException: An error occured while executing doInBackground()
	at android.os.AsyncTask$3.done(AsyncTask.java:304)
	at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355)
	at java.util.concurrent.FutureTask.setException(FutureTask.java:222)
	at java.util.concurrent.FutureTask.run(FutureTask.java:242)
	at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
	at java.lang.Thread.run(Thread.java:818)
Caused by: org.buskuru.tokyu.exceptions.ServerConnectionException: org.apache.http.conn.HttpHostConnectException: Connection to https://play.google.com refused
	at org.buskuru.tokyu.util.HttpUtil.getHtml(HttpUtil.java:226)
	at org.buskuru.tokyu.activity.BaseActivity$HtmlTask.doInBackground(BaseActivity.java:243)
	at org.buskuru.tokyu.activity.BaseActivity$HtmlTask.doInBackground(BaseActivity.java:234)
	at android.os.AsyncTask$2.call(AsyncTask.java:292)
	at java.util.concurrent.FutureTask.run(FutureTask.java:237)
	... 4 more
Caused by: org.apache.http.conn.HttpHostConnectException: Connection to https://play.google.com refused
	at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:196)
	at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:169)
	at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:124)
	at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:365)
	at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:560)
	at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:492)
	at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:470)
	at org.buskuru.tokyu.util.HttpUtil.getHtml(HttpUtil.java:216)
	... 8 more
Caused by: java.net.ConnectException: failed to connect to /216.58.220.206 (port 443): connect failed: ENETUNREACH (Network is unreachable)
	at libcore.io.IoBridge.connect(IoBridge.java:128)
	at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:183)
	at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:456)
	at java.net.Socket.connect(Socket.java:887)
	at org.apache.http.conn.scheme.PlainSocketFactory.connectSocket(PlainSocketFactory.java:124)
	at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:157)
	... 15 more
Caused by: android.system.ErrnoException: connect failed: ENETUNREACH (Network is unreachable)
	at libcore.io.Posix.connect(Native Method)
	at libcore.io.BlockGuardOs.connect(BlockGuardOs.java:111)
	at libcore.io.IoBridge.connectErrno(IoBridge.java:141)
	at libcore.io.IoBridge.connect(IoBridge.java:126)
	... 20 more
java.lang.RuntimeException: An error occured while executing doInBackground()
	at android.os.AsyncTask$3.done(AsyncTask.java:304)
	at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355)
	at java.util.concurrent.FutureTask.setException(FutureTask.java:222)
	at java.util.concurrent.FutureTask.run(FutureTask.java:242)
	at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
	at java.lang.Thread.run(Thread.java:818)
Caused by: org.buskuru.tokyu.exceptions.ServerConnectionException: java.net.UnknownHostException: Unable to resolve host "play.google.com": No address associated with hostname
	at org.buskuru.tokyu.util.HttpUtil.getHtml(HttpUtil.java:226)
	at org.buskuru.tokyu.activity.BaseActivity$HtmlTask.doInBackground(BaseActivity.java:243)
	at org.buskuru.tokyu.activity.BaseActivity$HtmlTask.doInBackground(BaseActivity.java:234)
	at android.os.AsyncTask$2.call(AsyncTask.java:292)
	at java.util.concurrent.FutureTask.run(FutureTask.java:237)
	... 4 more
Caused by: java.net.UnknownHostException: Unable to resolve host "play.google.com": No address associated with hostname
	at java.net.InetAddress.lookupHostByName(InetAddress.java:457)
	at java.net.InetAddress.getAllByNameImpl(InetAddress.java:252)
	at java.net.InetAddress.getAllByName(InetAddress.java:215)
	at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:146)
	at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:169)
	at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:124)
	at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:365)
	at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:560)
	at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:492)
	at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:470)
	at org.buskuru.tokyu.util.HttpUtil.getHtml(HttpUtil.java:216)
	... 8 more
Caused by: android.system.GaiException: android_getaddrinfo failed: EAI_NODATA (No address associated with hostname)
	at libcore.io.Posix.android_getaddrinfo(Native Method)
	at libcore.io.ForwardingOs.android_getaddrinfo(ForwardingOs.java:55)
	at java.net.InetAddress.lookupHostByName(InetAddress.java:438)
	... 18 more

う〜ん、、、分からん。
今は多忙なので、時間ができたら直したいねえ〜。

無理だったら、、、最後の手段としてバージョン制限するしかないかなあ。

バスくる for 相鉄 を修正中。。。その2

相変わらず、50音検索のURLが分からないので、調査中。

コンパイルも通って、いざ起動!と思ったらエラー。。。

[2016-01-13 10:21:52 - Dex Loader] Unable to execute dex: Multiple dex files define Lcom/google/android/gms/analytics/internal/Command$1;
[2016-01-13 10:21:52 - buskuru-android-sotetsu] Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Lcom/google/android/gms/analytics/internal/Command$1;

Google Analytics V3 の jar を残したままだったw
jar を削除して、やっぱり記述方法が変わるのか。

導入方法はココを見て、無事に起動できた!!

バスくる for 相鉄 を修正中。。。

リニューアルされた相鉄バスサイトを見てみる、、、うーん、、、50音検索のURLが分からん、、、どうしよ。。。

呆然としてたら、Google Analytics V4の記事を目にする、V4から Google Play Service になるらしい。

SDKマネージャーで諸々アップデートしてみる。

やべえ〜、コンパイル通らねえ、、、バスくる全滅。。。

google-play-services_lib をインポートし直してみる。

google-play-services_lib\res\values-v21\appinvite_styles.xml:5: エラー: Error retrieving parent for item: No resource found that matches the given name '@android:style/Theme.Material.Light.DialogWhenLarge.NoActionBar'.

何ですかコレ?

どうやら最新Google Play Service は、Android4.2.2では動かないらしい。

Android 5.0.1 にしたらコンパイル通った!

とりあえず、一難去ったな。

久々にレビュー投稿されたけど。。。

久々にレビュー投稿してもらえたが、、、

                                                                          • -

致命的 接近情報だかなんだかのボタンを押したら、画面がブラックアウトした。Androidのホームボタンや戻るボタンなどは表示されるが、反応しない状況に。何もできず端末を再起動せざるを得なかった。怖くて使えない。ブラウザアクセスでいいや。xperia z5

                                                                          • -


「接近情報だかなんだかのボタン」って何だ?どのボタンかなあ〜、そんなボタンないんだけど。。。
「画面がブラックアウトした」、、、う〜ん、、、そんな現象見たことないなあ。。。
「端末を再起動せざるを得なかった」、、、端末がクラッシュする程の現象も見たことないなあ。。。

Xperia Z5 は、Android 5.1 かあ〜、、、Android5.0で動作するのは確認取れてるんだが、5.1は分からんなあ。。。
それとも、Xperia Z5 だとダメなのかなあ。。。


っていうか、クラッシュレポートは飛んで来てないので分からんなあ。。。

クラッシュ時のオペレーションもよく分からんし、とりあえず放置しよう!

バスくる開発環境あれこれ其の4

「バスくる for 東急」のOrmLite対応は完了し、引き続きビルド修正の為、pom.xml を修正した。

まずは、修正せずビルドしてエラー

[exec] Caused by: java.lang.ClassNotFoundException: org.eclipse.aether.spi.connector.Transfer$State
[exec] 	at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:50)
[exec] 	at org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass(ClassRealm.java:271)
[exec] 	at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:247)
[exec] 	at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:239)


android-maven-pluginを最新すれば良いという記事を見つけたので修正してみた。

<plugin>
    <groupId>com.jayway.maven.plugins.android.generation2</groupId>
    <artifactId>android-maven-plugin</artifactId>
    <version>3.8.2</version>
</plugin>
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
<plugin>
    <groupId>com.simpligility.maven.plugins</groupId>
    <artifactId>android-maven-plugin</artifactId>
    <version>4.1.1</version>
</plugin>

で、ビルドするとエラー

[exec] [ERROR] Failed to execute goal com.simpligility.maven.plugins:android-maven-plugin:4.1.1:generate-sources (default-generate-sources) on project buskuru:
[exec] [ERROR] 
[exec] [ERROR] Found files or folders in non-standard locations in the project!
[exec] [ERROR] ....This might be a side-effect of a migration to Android Maven Plugin 4+.
[exec] [ERROR] ....Please observe the warnings for specific files and folders above.
[exec] [ERROR] ....Ideally you should restructure your project.
[exec] [ERROR] ....Alternatively add explicit configuration overrides for files or folders.
[exec] [ERROR] ....Finally you could set failOnNonStandardStructure to false, potentially resulting in other failures.


android-maven-plugin4.x系はダメっぽいので、3.x系の最新にしてみた。

<plugin>
    <groupId>com.jayway.maven.plugins.android.generation2</groupId>
    <artifactId>android-maven-plugin</artifactId>
    <version>3.9.0-rc.3</version>
</plugin>

で、ビルドするとエラー

[exec] [ERROR] Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.2.1:exec (zipalign) on project buskuru: Command execution failed. Cannot run program "C:\Android\android-sdk\tools\zipalign" (in directory "C:\Work\dev\Java\buskuru\buskuru-android-tokyu\buskuru-android-tokyu"): CreateProcess error=2, 指定されたファイルが見つかりません。 -> [Help 1]


zipalign.exeのパスが変わってた。
ついでに、プラグインのバージョンも上げた。

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>exec-maven-plugin</artifactId>
    <version>1.4.0</version>
</plugin>

<configuration>
    <executable>${ANDROID_HOME}/build-tools/22.0.1/zipalign</executable>
    <arguments>
        <argument>-f</argument>
        <argument>-v</argument>
        <argument>4</argument>
        <argument>target/${project.build.finalName}.apk</argument>
        <argument>target/${project.build.finalName}-zipped.apk</argument>
    </arguments>
</configuration>

で、ビルドしたら通った!

     [exec] [INFO] ------------------------------------------------------------------------
     [exec] [INFO] BUILD SUCCESS
     [exec] [INFO] ------------------------------------------------------------------------


尚、Java8新機能のラムダ式を使用する場合は、〜 と を 1.8 にするらしい。

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.1</version>
    <configuration>
        <source>1.8</source>
        <target>1.8</target>
        <encoding>UTF-8</encoding>
    </configuration>
</plugin>

で、ビルドしたらエラー

[exec] [INFO] UNEXPECTED TOP-LEVEL EXCEPTION:
[exec] [INFO] com.android.dx.cf.iface.ParseException: bad class file magic (cafebabe) or version (0034.0000)
[exec] [INFO] 	at com.android.dx.cf.direct.DirectClassFile.parse0(DirectClassFile.java:472)
[exec] [INFO] 	at com.android.dx.cf.direct.DirectClassFile.parse(DirectClassFile.java:406)
[exec] [INFO] 	at com.android.dx.cf.direct.DirectClassFile.parseToInterfacesIfNecessary(DirectClassFile.java:388)
[exec] [INFO] 	at com.android.dx.cf.direct.DirectClassFile.getMagic(DirectClassFile.java:251)
[exec] [INFO] 	at com.android.dx.command.dexer.Main.processClass(Main.java:704)
[exec] [INFO] 	at com.android.dx.command.dexer.Main.processFileBytes(Main.java:673)
[exec] [INFO] 	at com.android.dx.command.dexer.Main.access$300(Main.java:83)
[exec] [INFO] 	at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:602)
[exec] [INFO] 	at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:170)
[exec] [INFO] 	at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:229)
[exec] [INFO] 	at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:158)
[exec] [INFO] 	at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:229)
[exec] [INFO] 	at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:158)
[exec] [INFO] 	at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:229)
[exec] [INFO] 	at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:158)
[exec] [INFO] 	at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:229)
[exec] [INFO] 	at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:158)
[exec] [INFO] 	at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:229)
[exec] [INFO] 	at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:158)
[exec] [INFO] 	at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144)
[exec] [INFO] 	at com.android.dx.command.dexer.Main.processOne(Main.java:632)
[exec] [INFO] 	at com.android.dx.command.dexer.Main.processAllFiles(Main.java:510)
[exec] [INFO] 	at com.android.dx.command.dexer.Main.runMonoDex(Main.java:280)
[exec] [INFO] 	at com.android.dx.command.dexer.Main.run(Main.java:246)
[exec] [INFO] 	at com.android.dx.command.dexer.Main.main(Main.java:215)
[exec] [INFO] 	at com.android.dx.command.Main.main(Main.java:106)
[exec] [INFO] ...while parsing org/buskuru/tokyu/util/StringUtil.class


まあ〜、ラムダ式は使わないから以前のままでイイや。

とりあえずビルド修正は完了したので、週末テストしてリリースしよう!!