facebook twitter hatena line email

Android/開発環境/AndroidStudio/その他

提供: 初心者エンジニアの簡易メモ
移動: 案内検索

行番号追加

preference/Editor/General/Appearance/show line numbersにチェック

logcatを見る

  1. フッターのAndroidを選択
  2. adblogタブを選択
  3. 右側の入れ替えアイコンを押下
  4. Device|Logcatを選択

logcatでLevelフィルタを使う

adb logcat *:E # error以上のみ
adb logcat *:W # warning以上のみ
adb logcat *:I # info以上のみ
adb logcat *:D # debug以上のみ
adb logcat *:V # 全部

logcatでTAGフィルタを使う

adb logcat -s TAG1

logcatで文字列フィルタを使う

adb logcat *:I | grep hogehoge

エラーメッセージを見る

  1. フッターのAndroidを選択
  2. adblogタブを選択
  3. 右側の入れ替えアイコンを押下
  4. Device|Logcatを選択
  5. LogLevelのフィルターでErrorを選択

default activity not found

サンプルのSettingActivityを生成した所、上のエラーが出たが、 manifest.xmlに以下が記述されていないだけだった。activityタグ内に<intent-filter>を追加する。

<activity android:name=".SettingsActivity"
           android:label="@string/app_name" >
    <intent-filter>
        <action android:name="android.intent.action.MAIN"/>
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

Error:Execution failed for task ':app:dexDebug'. UNEXPECTED TOP-LEVEL EXCEPTION:のエラーの場合

libs内のandroid-support-v4.jarなどがライブラリと被っているので片方を削除

メソッドが65536件を以上のときのエラー

メソッドが65536件を以上のときのエラー

Execution failed for task ':app:transformClassesWithDexForDebug'.
> com.android.build.api.transform.TransformException:
com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException:
com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536

multiDexDenabledを追加する

build.gradle修正

android {
   compileSdkVersion 21
   buildToolsVersion "21.1.0"
   defaultConfig {
       minSdkVersion 14
       targetSdkVersion 21
       // Enabling multidex support.
       multiDexEnabled true
   }
}
dependencies {
 compile 'com.android.support:multidex:1.0.0'
}

対応後build cleanをする

multidexの読み込みに失敗するとき

multidexが適切にインストールされているか確認する

ls ~/Library/Android/sdk/extras/android/m2repository/com/android/support/multidex/1.0.3/multidex-1.0.3.jar

なければsdktoolのandroidSupportRegistryをアンインストールしてインストールする。

multidexのjarやaarをDLしたい場合はこちらから。https://mvnrepository.com/artifact/com.android.support/multidex/1.0.3

参考:http://qiita.com/furu8ma/items/6cb4b08c423da6a74299

参考:https://developer.android.com/studio/build/multidex.html?hl=ja

Minimum supported Gradle version is 3.3エラーが出る場合

gradle/wrapper/gradle-wrapper.propertiesの

distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip

distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip

に書き換える

preference/plugins/AndroidNDKSupportにチェックを入れる

:app:transformClassesWithJarMergingForDebugエラー

build cleanをする

import文自動挿入

不明classを選択してoption(alt)+return

使用メモリを確認

View/Tool Windows/Android Monitor/左上のMonitorsタブを選択

  • allocated 割り当てられたメモリ
  • free 未使用メモリ

please select android sdkエラーが出る場合

build.gradleのSdkVersionの数字を変更して、戻して build.gradleのsyncをすれば良い。

play-services-basementエラー

googleを先に持ってくると改善する模様。googleがなければjcenter()の上にgoogle()を追加する

repositories {
    google()
    jcenter()
    maven { url 'ttps://maven.fabric.io/public' }
}

http://matsudamper.hatenablog.com/entry/2018/07/05/013810

全置換

intellij系すべてで使えると思われる

command+shift+rで全置換画面を開く

改行を削除

regexをonへ

置換前

\n

```の前のタブを消す

regexをonへ

置換前

\t\`\`\`

置換後

\`\`\`

Failed to resolve: com.google.android.gms:play-services-basement:[15.0.1,16.0.0)

File/Other Settings/Default Settings/Build, Execution, Deployment/Build Tools/Gradle/And uncheck Offline work

参考:https://stackoverflow.com/questions/50791632/could-not-find-any-version-that-matches-com-google-android-gmsplay-services-bas/50792337

Could not resolve com.google.android.gms:play-services-ads:18.2.0."エラーが出る場合

  1. AndroidStudio3.2だとmavenのdownloadがうまくいかなくなってた(2019/9/10現在)
  2. AndroidStudio3.5へ更新したところうまくいった。

以下admobのエラーが出る場合

 E/AndroidRuntime: FATAL EXCEPTION: main
    Process: jp.co.example.samplenativebanner, PID: 23005
    java.lang.RuntimeException: Unable to get provider com.google.android.gms.ads.MobileAdsInitProvider: java.lang.IllegalStateException: 
    
    ******************************************************************************
    * The Google Mobile Ads SDK was initialized incorrectly. AdMob publishers    *
    * should follow the instructions here:                                       *
    * https://googlemobileadssdk.page.link/admob-android-update-manifest         *
    * to add a valid App ID inside the AndroidManifest.                          *
    * Google Ad Manager publishers should follow instructions here:              *
    * https://googlemobileadssdk.page.link/ad-manager-android-update-manifest.   *
    ******************************************************************************
        at android.app.ActivityThread.installProvider(ActivityThread.java:4793)

AndroidManifest.xmlに以下を追加

<meta-data
            android:name="com.google.android.gms.ads.AD_MANAGER_APP"
            android:value="true"/>

build選択に知らないアプリ(モジュール)が紛れ込んでるとき

AndroidStudioを閉じて、.idea/workspace.xmlを一旦削除してAndroidStudioを起動