カテゴリーアーカイブ Android

takahashi 著者:takahashi

XperiaのBluetoothで音が途切れる・聞こえなくなる不具合を治す方法

自分はメインのスマートフォンとしてXperia Z5 を使用しています。
SONYが製造・販売するスマートフォン、Xperiaシリーズは当初からかなり人気があり、一時期自分の周りのほとんどの人が、iPhoneかXperiaのどちらかを持っている状態になりました。

そんなXperiaですが、使っていて気づいたのがBluetooth周りの不具合。
自分の使っているZ5では、Bluetoothで音楽を聴いていると頻繁に音途切れが発生する問題が起きていました。
見ている限り端末の高負荷時に起きているような印象だったので、きっとそれが原因だと考えていたのですが、Z5より前に使っていたAQUOS PHONE 303SHでは負荷がかかってもBluetoothが途切れることはかなりまれだったので、変だな、とは思っていました。

最近かなり途切れ具合が酷くなっていたので、ネットで対策方法を調べていたらこんな記事が。

Xperia Z5でBluetoothイヤフォンが音飛び、途切れる、音が出ない場合などの改善・対処方法 – スマホ評価・不具合ニュース

どうやらこれ、どうもバグだったようで…
Androidの標準機能からペアリングすると不具合が発生するので、SONY独自のファームウェアに含まれる”Throw”からペアリングすることで安定するようになるとのこと。

まず、ホーム画面内のドロワーから、”設定”を開きます。

中から”機器接続”を選択

“Throw” をタップします。

Throwについて をタップ

はじめにをタップします。

今セットアップをしようとしている機器の種類を選択

Bluetoothを選択します。

機器を追加 をタップ

この状態になったら、Bluetooth機器の方をペアリングモードにすると、Xperia側に機器が表示されるので、そこをタップすると設定完了です。

この方法でペアリングしなおしてから、音飛びや音が再生されない不具合は今のところ解消しています。
Xperiaは他のAndroid端末と比較して、かなり幅広い機器と接続できるのがとてもいいのですが、その反面Bluetooth周りに弱点が出てしまったような形です。

今後改善されることを願います。

  • この記事いいね! (0)
村上 著者:村上

【Android Studio】Gradleのバージョンを確認&アップデートする方法

今日、Cordovaアプリにプラグインを追加しようとした際、Gradleのバージョンが低すぎる!と怒られました。
で、更新方法がわからず調べたので、まとめです。

最初はアプリの build.gradle のどこかを更新するのかと思いましたが、どうやら違うみたいです。

 

今回参考にさせていただいたサイトはこちらから。

AndroidStudioのGradleのアップデートについて – Pelikan Philosophy
http://www.peliphilo.net/archives/685

バージョンの確認&アップデート方法ですが、まず Android Studioのメニューバーにある File から Project Structure をクリックします。
そうすると、下の画像のようなウィンドウが表示されるので、左側のメニューから Project を選択します。

そうすると、ウィンドウ上部に、Gradle versionを入力する欄があるので、こちらに任意のバージョンを入力します。
入力出来たら、右下にある OK を押して、ウィンドウを閉じます。
あとは、Android Studio が入力されたバージョンを自動でインストールしてくれるので、それを待てば完了です!

 

もしかしたら、インストールに少し時間がかかるかもしれませんが、それ以外はとても簡単でした。
冒頭でも書きましたが、てっきり build.gradle に記述しているのではと思い込んでいたので、少し探してしまいました。
やはりわからないことは調べるに限りますね!

  • この記事いいね! (0)
著者:ym

スマートフォン機種変

スマートフォンを機種変しました。

電池の持ちが悪くなって来てたのと。電池が 60 % 程度で突然電源が落ちる劣化電池の持病が頻発する様になったのがきっかけ。サーバ監視や、VPN、リモートSSH操作端末、SIPボタン電話、など非常に重要な端末化しているので、結構困るんですよね。

ちょうど HTC U11 の SIM フリー・Felica・NFC 対応の赤色限定モデルが予約発売開始されていたのですが、高くて手がでませんでした。

なので、ヤフオク。

IMEIだけ◯印のを確認して、8000 円で今と同じ機種の色違い中古を購入しました。

いままでは HTV31 の紺色使っていましたが、今度は HTV31 の赤です。

 

とどいたのは結局SIMロック状態品でした。こまったことに、先日から各キャリアが SIM フリー化対策で、自信の購入履歴が無いと SIM フリー化はしてくれなくなったのでね。どうにか root 化、SIM フリー化出来たので移行無事完了!

さて、古い機種側のバッテリー交換の為に、分解にはいります。

  • この記事いいね! (0)
村上 著者:村上

【Android】ビルド時の「Error:Execution failed for task ‘:processDebugGoogleServices’.」の対処法

Cordova アプリで、新しくプラグインを追加したところ、Androidでエラーが発生したので、その対処法について。
ちなみに、追加したプラグインは「cordova-plugin-admob-free」で、アプリ内に広告を入れるためです。
が、このプラグインを追加してビルドしたところ、エラーが発生しました。

 

遭遇したエラーの全文はこちら。

Error:Execution failed for task ‘:processDebugGoogleServices’.
> Please fix the version conflict either by updating the version of the google-services plugin (information about the latest version is available at https://bintray.com/android/android-tools/com.google.gms.google-services/) or updating the version of com.google.android.gms to 9.0.0.

Google翻訳にかけてみたところ、どうやら processDebugGoogleServices の実行に失敗しているようです。
失敗する要因は、バージョンの競合とのこと。
そのため、対処法としては、build.gradle に記述されている com.google.android.gms のバージョンを 9.0.0 に更新するのが有効なようです。

具体的には下記のとおりです。

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    // SUB-PROJECT DEPENDENCIES START
    compile project(":CordovaLib")
    compile "com.google.android.gms:play-services-base:9.0.0"
    compile "com.google.android.gms:play-services-ads:9.0.0"
    compile 'com.android.support:appcompat-v7:23.2.1'
    compile "com.facebook.android:facebook-android-sdk:4.+"
    compile "com.google.firebase:firebase-core:9.0.0"
    compile "com.google.firebase:firebase-messaging:9.0.2"
    // SUB-PROJECT DEPENDENCIES END
}

上記コードの、5、6行目の com.google.android.gms:play-services-basecom.google.android.gms:play-services-ads のバージョンを 9.0.0 に変更しました。
が、これだけだとまだエラーが発生するので、9、10行目の com.google.firebase:firebase-corecom.google.firebase:firebase-messaging のバージョンも 9.0.0 に変更します。

なお、10行目の com.google.firebase:firebase-messaging だけバージョンが 9.0.2 なのは、別のエラーが発生したためです。
ついでに、7行目の com.android.support は com.android.support:support-v4:24.1.1+” から com.android.support:appcompat-v7:23.2.1 変更しており、これも別のエラーの対策のためです。

上記のコードのように build.gradle を修正したところ、問題なく実行することができました。

 

以上、ビルドエラーの対処法でした!
ちなみに、2つ目のエラーの方が、ビルドが通ってしまう分、大変でした…。
ビルドは通るのに、いざ実機で実行するとアプリが落ちるという…。
何とか解決できたので良かったです。
Codova はやっぱり難しい!

  • この記事いいね! (0)
村上 著者:村上

【Cordova】アプリのアイコンの設定方法とAndroidのアイコンサイズまとめ

マージに失敗したのか、Cordovaアプリのアイコンの設定をしている記述が掻き消えたので、備忘録を兼ねてまとめ。
これでもしもう一度コードが吹っ飛んでも大丈夫!

 

アプリのアイコンは config.xml で指定します。
まず、iOSアプリのアイコンは、下記のように記述します。

<platform name="ios">
    <icon height="180" src="res/icon/ios/icon-60@3x.png" width="180" />
    <icon height="60" src="res/icon/ios/icon-60.png" width="60" />
    <icon height="120" src="res/icon/ios/icon-60@2x.png" width="120" />
    <icon height="76" src="res/icon/ios/icon-76.png" width="76" />
    <icon height="152" src="res/icon/ios/icon-76@2x.png" width="152" />
    <icon height="40" src="res/icon/ios/icon-40.png" width="40" />
    <icon height="80" src="res/icon/ios/icon-40@2x.png" width="80" />
    <icon height="57" src="res/icon/ios/icon.png" width="57" />
    <icon height="114" src="res/icon/ios/icon@2x.png" width="114" />
    <icon height="72" src="res/icon/ios/icon-72.png" width="72" />
    <icon height="144" src="res/icon/ios/icon-72@2x.png" width="144" />
    <icon height="29" src="res/icon/ios/icon-small.png" width="29" />
    <icon height="58" src="res/icon/ios/icon-small@2x.png" width="58" />
    <icon height="50" src="res/icon/ios/icon-50.png" width="50" />
    <icon height="100" src="res/icon/ios/icon-50@2x.png" width="100" />
    <icon height="1024" src="res/icon/ios/icon-1024.png" width="1024" />
</platform>

Androidのアイコンの設定はこちら。

<platform name="android">
    <icon density="ldpi" src="res/icon/android/icon-ldpi.png" />
    <icon density="mdpi" src="res/icon/android/icon-mdpi.png" />
    <icon density="hdpi" src="res/icon/android/icon-hdpi.png" />
    <icon density="xhdpi" src="res/icon/android/icon-xhdpi.png" />
    <icon density="xxhdpi" src="res/icon/android/icon-xxhdpi.png" />
</platform>

が、Androidのアイコンサイズがいまいちわからないので簡単にまとめ。
このアイコンサイズについて、毎回こういったアイコンを準備するたびに調べているので、今回まとめました。

解像度 アイコンサイズ
ldpi 36×36px
mdpi 48×48px
hdpi 72×72px
xhdpi 96×96px
xxhdpi 144×144px
xxxhdpi 192×192px

あとは、Android・iOS 共に、上の表などを参考に、それぞれの画像を用意すれば設定完了です。
(上記コードだと、res/icon ディレクトリにそれぞれ android、ios フォルダを用意し、アイコンを保存しています)
いつも通りにビルドした後、実機で実行すればアイコンが設定されています。

 

以上、Cordovaアプリ開発時に、アプリアイコンを設定する方法でした。

  • この記事いいね! (0)
村上 著者:村上

【Android】アプリに不要なパーミッションが追加されているときの対処法

今回初めて遭遇しましたが、開発したAndroidアプリに入れた覚えのないパーミッションが追加されているときの対処法です。
なお、追加されていたパーミッションは、android.permission.READ_PHONE_STATE でした。
が、アプリ内ではこの権限は不要のため(そもそも追加した記憶もない)、こちらを削除します。
ですが、そもそも パーミッションを記述してあるはずの AndroidManifest.xml に、READ_PHONE_STATE が記述されていないんですよね…。
本当に、一体いつ追加されたのやら。

参考にさせていただいたサイトはこちら。

対処法: 不必要なPermissionが勝手に追加されてるとき|Android開発・エラー置き場
http://android.tecc0.com/?p=161

で、削除方法ですが、

  1. targetSdkVersion を更新
  2. LibraryのtargetSdkVersion を更新
  3. AndroidManifest.xmlで上書きして削除

上記の3つがあるようです。
私は一番手っ取り早そうな3をチョイスしました。

 

3.の対処法は、AndroidManifest.xml に下記を追加して、特定のパーミッションを無効にします。

// パーミッションを無効に
<uses-permission android:name="android.permission.READ_PHONE_STATE" tools:node="remove" />

ポイントは最後の方に書かれている tools:node=”remove” です。

こちらを記述したら、あとは通常通り ビルド → 実行します。
スクショを撮り忘れましたが、設定 > アプリ からアプリの詳細を確認したところ、許可された権限の一覧から 不要な権限が削除されていました。

 

以上、アプリの不要なパーミッションを削除する方法でした。
ですが、何故このパーミッションが追加されたのか?という根本的な解決にはなっていないので、対処法 1か2で、解決策を探りたいと思います。

  • この記事いいね! (0)
村上 著者:村上

【Android Studio】「パッケージorg.apache.http.clientは存在しません」が発生した時の対処法

Androidアプリをビルドした時に遭遇したエラーその3。
ちなみに、これがラストです。

 

今回は、「エラー: パッケージorg.apache.http.clientは存在しません」というエラーです。
アプリ内で、org.apache.http.client をインポートしているのですが、こちらが存在しないためインポートに失敗して発生したエラーのようです。

なお、今回参考にさせていただいたサイトはこちら。

エラー: パッケージorg.apache.http.clientは存在しません への対策
http://www.what-a-day.net/entry/2016/12/11/124959

対処法はいたって簡単。
build.gradle に「useLibrary ‘org.apache.http.legacy’」を追加するだけです。

android {
    compileSdkVersion 19
    buildToolsVersion "19.1.0"

    useLibrary 'org.apache.http.legacy' /* この行を追加 */

    defaultConfig {
        ……
    }
}

あとは普通にビルドすれば、他のエラーがない限り成功するはずです。

もしくは、下記のように記述してもOKとのこと。

dependencies {
    compile files('libs/org.apache.http.legacy.jar')  /* この行を追加 */
}

こちらの方法は試していないので、有効かどうかはわかりませんが、1つ目の方法を試したところ、ビルドに成功しました。

 

とても簡単ですが…以上、「パッケージorg.apache.http.clientは存在しません」エラーの対処法でした。
今回、様々なエラーに遭遇しましたが、すべて検索結果に簡単に引っかかるものばかりだったので、そこまで苦労せずに済みました。
もし、同じエラーにお困りの場合は、こちらの記事を参考にしていただければと思います。

  • この記事いいね! (0)
村上 著者:村上

【Android】「Could not find method runProguard() for arguments」エラーの対処法

今回は、Androidアプリのビルド時に遭遇したエラーについて。

【Android Studio】「Error:error: uncompiled XML file passed as argument. Must be compiled first into .flat file..」エラーの対処法
https://cpoint-lab.co.jp/【android-studio】「errorerror-uncompiled-xml-file-passed-as-argument-must-be-compiled-first-into-flat-file-」エラーの対処/

こちらで紹介したエラー同様、他のスタッフが少し前に開発したアプリをビルドした時に発生したエラーです。
こちらが遭遇したエラー2つ目で、実はもう一つあります。

 

で、こちらのエラーですが、対処法自体は、build.gradle ファイルの1行を書き換えるだけと、かなり簡単だったのですが、エラー文がかなり長くて、初見でちょっとビビってしまったので、今後驚かないようにまとめます。
まずは、エラー全文はこんな感じ。

Could not find method runProguard() for arguments [false] on BuildType_Decorated{name=release, debuggable=false, testCoverageEnabled=false, jniDebuggable=false, pseudoLocalesEnabled=false, renderscriptDebuggable=false, renderscriptOptimLevel=3, minifyEnabled=false, zipAlignEnabled=true, signingConfig=null, embedMicroApp=true, mBuildConfigFields={}, mResValues={}, mProguardFiles=[], mConsumerProguardFiles=[], mManifestPlaceholders={}} of type com.android.build.gradle.internal.dsl.BuildType.

name=release, debuggable=false, testCoverageEnabled=false …など、等式がずらずら並んでいたので、これはややこしいのでは!?と思い込んでしまったんですよね。

で、対処法ですが、build.grade ファイルに下記の1文が記述されているかと思います。

runProguard false

これを、下記に書き換えるだけ。

minifyEnabled false

あとは、いつも通りビルドするだけです。

 

エラー文にビビりましたが、思ったよりも簡単に直せたので一安心でした。
同じエラーにお困りの方は、是非参考にしてください。

  • この記事いいね! (0)
村上 著者:村上

【Android】Buttonのデザインを変更する方法

最近 Android の開発ネタばかりで申し訳ありません…が、今日も性懲りもなく Android について!
今回は、ボタンのデザインを変更する方法です。
デフォルトのデザインって、グレーに角ばった形をしていて、かなり味気ないというか素っ気ないデザインなので、これを変更していきます。

参考にさせていただいたサイトはこちら。

Android UI基本 Buttonをカスタマイズする
http://tech.pjin.jp/blog/2016/02/09/android ui基本-buttonをカスタマイズする/

 

さて、今回のコードで作成できるボタンのデザインは下記の2つです。

まず、ボタンのデザインを指定するxmlファイルを、drawable フォルダ以下に作成します。
左側の、背景色が水色の丸角ボタンのコードはこちら。

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
    <solid android:color="#4cb4fa"/>
    <corners android:radius="8dp"/>
</shape>

ファイル名は、entry_button.xml としています。

右側の、背景色が白色で枠線が水色の丸角ボタンのコードはこちら。

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
    <solid android:color="#FFF"/>
    <corners android:radius="8dp"/>
    <stroke android:color="#4cb4fa" android:width="1dp"/>
</shape>

こちらのファイル名は、entry_button_noactive.xml としました。

で、ボタン自体は下記のように指定します。

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:background="#FFF">
    <Button android:layout_width="0dp"
        android:layout_height="35dp"
        android:layout_weight="1"
        android:text="公開"
        android:textColor="#FFF"
        android:background="@drawable/entry_button"
        android:layout_margin="3dp"/>
    <Button
        android:layout_width="0dp"
        android:layout_height="35dp"
        android:layout_weight="1"
        android:text="下書き"
        android:background="@drawable/entry_button_noactive"
        android:layout_margin="3dp"/>
</LinearLayout>

重要なのは、12、19行目android:background を指定している箇所です。
ここで、先程作成した xmlファイルを指定すると、xmlファイルに記述したデザインがボタンに反映されます。
レイアウトファイルがごちゃごちゃしないので、分かりやすくていいですね。
xmlファイルの記述については、ググれば色々出てくるので、難しくはないはず。

 

以上、ボタンのデザインの変更方法でした。
味気ないデフォルトのデザインや、背景色変えるだけよりも、ぐっとお洒落になるので、Androidアプリを開発している方は是非取り入れてみてはいかがでしょうか。

  • この記事いいね! (0)
村上 著者:村上

【Android】リリース版アプリをビルドするときにkey aliasを忘れた場合の対処法

会社の人に教えていただいた方法ですが、これは覚えておかねば!と思ってまとめ。
Androidアプリをリリースする際に、リリース版APKのビルドを行いますが、その時に入力する key alias という項目を忘れてしまったときの対処法です。
こちらは、Android Studio のメニューバーの Build > Generate Signed APK をクリックしたときに表示される下記のウィンドウの入力欄に入力する項目です。

教えてもらった記事はこちら。

もしandroid.keysotreのkey aliasを忘れてしまったなら – Qiita
https://qiita.com/mmusasabi/items/e0dbd1fb01c0410f791a

なお、こちらの投稿には、パスワードを忘れてしまった場合の対処法へのリンクも貼ってありますので、こちらも是非ご参考にしていただければと思います。

 

さて、その方法ですが、コマンドプロンプトなどのツールを起動して、下記のコマンドを実行するだけ!

keytool -list -keystore <アプリのキーストアのパス>

こちらを実行すると、キーストアのパスワードを聞かれるので、パスワードを入力してエンターキーを押します。

実際の実行画面はこんな感じです。

ちょっとアレかな?と思われるところは白塗りにしましたが、重要なのは、赤く塗りつぶした箇所です。
正常に動作すれば、こちらに key alias が表示されます。
あとは、こちらを使って、リリース版ビルドを実行して完了です。

 

他の人が開発&リリースしたアプリだったので、パスワードしかわからず、どうしよう…となっていたので非常に助けられた記事でした。
同じ事で悩んでいる方がいらっしゃれば、是非参考にしていただければと思います。

  • この記事いいね! (0)