Android/開発環境/AndroidStudio/その他
目次
- 1 行番号追加
- 2 logcatを見る
- 3 logcatでLevelフィルタを使う
- 4 logcatでTAGフィルタを使う
- 5 logcatで文字列フィルタを使う
- 6 エラーメッセージを見る
- 7 default activity not found
- 8 Error:Execution failed for task ':app:dexDebug'. UNEXPECTED TOP-LEVEL EXCEPTION:のエラーの場合
- 9 メソッドが65536件を以上のときのエラー
- 10 Minimum supported Gradle version is 3.3エラーが出る場合
- 11 :app:transformClassesWithJarMergingForDebugエラー
- 12 import文自動挿入
- 13 使用メモリを確認
- 14 please select android sdkエラーが出る場合
- 15 play-services-basementエラー
- 16 全置換
- 17 Failed to resolve: com.google.android.gms:play-services-basement:[15.0.1,16.0.0)
- 18 Could not resolve com.google.android.gms:play-services-ads:18.2.0."エラーが出る場合
- 19 以下admobのエラーが出る場合
- 20 build選択に知らないアプリ(モジュール)が紛れ込んでるとき
行番号追加
preference/Editor/General/Appearance/show line numbersにチェック
logcatを見る
- フッターのAndroidを選択
- adblogタブを選択
- 右側の入れ替えアイコンを押下
- 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
エラーメッセージを見る
- フッターのAndroidを選択
- adblogタブを選択
- 右側の入れ替えアイコンを押下
- Device|Logcatを選択
- 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
Could not resolve com.google.android.gms:play-services-ads:18.2.0."エラーが出る場合
- AndroidStudio3.2だとmavenのdownloadがうまくいかなくなってた(2019/9/10現在)
- 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を起動