facebook twitter hatena line email

Android/開発環境/ADTからAndroidStudioへの移行

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

ADTのプロジェクトExport

  1. ADT側のプロジェクトを選択
  2. Export/Android/Generate_Gradle
  3. build.gradleファイルを作成

AndroidStudioへImport

  1. AndroidStudioのFile/Project_Import
  2. buile.gradleがあるフォルダを選択

Android_Plugin_Versionを設定

  1. Open Module Settingsのprojectを開きいかが空であれば入力
Gradle version:2.2.1
Android Plugin Version:1.0.0
Android Plugin Repository:jcenter
Default Library Repository:jcenter

移行エラー

  1. AndroidIdが少し間違って"have you declared this activity in your AndroidManifest.xml"のエラーが出る件について

AndroidIdを正常なIDに変更して修正

dir構造修正

例:wplibnonは独自ライブラリです(ライブラリなどがない場合は削除、適宜変更ください)

mkdir -p app/src/main
mv res app/src/main/
mv src app/src/main/java
mv AndroidManifest.xml app/src/main/AndroidManifest.xml
mv libs app/

settings.gradleに以下を追加

include ':app', ':wplibnon'

プロジェクト直下のbuild.gradleを以下に書き換える

buildscript {
   repositories {
       jcenter()
   }
   dependencies {
       classpath 'com.android.tools.build:gradle:1.0.0'
   }
}
allprojects {
   repositories {
       jcenter()
   }
}

app/build.gradleを各プロジェクトに合わせて以下のように書き換える

apply plugin: 'com.android.application'
android {
   compileSdkVersion 21
   buildToolsVersion "21.1.1"
   defaultConfig {
       applicationId "info.nonip.android.example"
       minSdkVersion 13
       targetSdkVersion 21
       versionCode 2
       versionName "2.0.1"
   }
   buildTypes {
       release {
           minifyEnabled false
           proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
       }
   }
}
dependencies {
   compile fileTree(dir: 'libs', include: ['*.jar'])
   compile project(':wplibnon') 
   compile 'com.android.support:support-v13:21.0.3'
   compile 'com.android.support:support-v4:21.0.3'
}

build.gradleに以下記述があるとファイルが見つからずビルドできないかも

   sourceSets {
       main {
           manifest.srcFile 'AndroidManifest.xml'
           java.srcDirs = ['src']
           resources.srcDirs = ['src']
           aidl.srcDirs = ['src']
           renderscript.srcDirs = ['src']
           res.srcDirs = ['res']
           assets.srcDirs = ['assets']
       }
   }

not found in root projectエラーが発生する場合

  1. settings.gradleを確認する
  2. .ideaのディレクトリと*.imlを削除
  3. 再度projectをimportして.idea、*.imlを自動生成する
  4. 確認

参考:http://daipresents.com/2016/plugin-with-id-com-android-application-not-found-%E3%81%A3%E3%81%A6%E6%80%92%E3%82%89%E3%82%8C%E3%81%9F/

Default Activity not foundエラーが発生する場合

Run/Edit ConfigurationでActivityをLaunch Default Activityにする

Manifest merger failed with multiple errors, see logs Information:BUILD FAILEDエラー

タグが被っていることが原因。

メイン側とライブラリ側にapplicationタグがあればライブラリ側のapplicationタグを削除すれば良い。

cannot be smaller than versionエラーの場合

Error:Execution failed for task ':app:processDebugManifest'.
   > Manifest merger failed : uses-sdk:minSdkVersion 10 cannot be smaller than version 11 declared in library [SampleHoge:hogesdk:unspecified] /d/android/sample/SampleHoge/app/build/intermediates/exploded-aar/SampleHoge/hogesdk/unspecified/AndroidManifest.xml
     	Suggestion: use tools:overrideLibrary="jp.co.test.hogesdk" to force usage

メイン側とライブラリ側でbuild.gradleのminSdkVersionのバージョンがあってない可能性があるのでそこを確認

:app:transformClassesWithDexForDebugエラーの場合

Error: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.DexException: 
Multiple dex files define Lcom/google/ads/AdRequest$ErrorCode;

build.gradleのライブラリが被っている可能性があるのでそこを確認

jarライブラリを開発用ライブラリに切り替える方法(例:wplibnonライブラリ)

  1. メイン側のbuild.gradleのdependenciesのwplibnon.jarを削除
  2. メイン側のbuild.gradleのdependenciesにcompile project(':wplibnon')を追加