facebook twitter hatena line google mixi email

「Android/開発環境/AndroidStudio/その他」の版間の差分

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
(debug署名付きapkの作成方法)
行41: 行41:
 
==Error:Execution failed for task ':app:dexDebug'. UNEXPECTED TOP-LEVEL EXCEPTION:のエラーの場合==
 
==Error:Execution failed for task ':app:dexDebug'. UNEXPECTED TOP-LEVEL EXCEPTION:のエラーの場合==
 
libs内のandroid-support-v4.jarなどがライブラリと被っているので片方を削除
 
libs内のandroid-support-v4.jarなどがライブラリと被っているので片方を削除
 
==apkの作成方法==
 
#メインメニューのbuild/Generate_apkから作成
 
 
==debug署名付きapkの作成方法==
 
#以下存在を確認
 
$ ls  ~/.android/debug.keystore
 
/Users/[user]/.android/debug.keystore
 
 
debug.keystoreは以下の通りとなっている
 
Keystore name debug.keystore
 
Keystore password android
 
Key alias androiddebugkey
 
Key password android
 
CN CN=Android Debug,O=Android,C=US
 
 
#メインメニューのbuild/Generate_apkから作成
 
#上記keyを入力する
 
#検証versionのv1とv2にチェックを入れる
 
#app/debug/app-debug.apkにファイルが出来る
 
  
 
==メソッドが65536件を以上のときのエラー==
 
==メソッドが65536件を以上のときのエラー==

2018年10月5日 (金) 19:59時点における版

行番号追加

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件を以上のときのエラー

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をアンインストールしてインストールする。

参考: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をすれば良い。