LoginSignup
3
1

More than 3 years have passed since last update.

Android Studioで古いプロジェクトを動かす際の注意点

Posted at

はじめに

Androidで古いプロジェクトをGitHubから落としたときにエラーが出まくったため覚書として残しておきます。

環境・前提条件

移そうとしたプロジェクトは下記のプロジェクトです。これをインストールしたばかりのAndroidStudioで開いたところから始まります。
https://github.com/tdicola/BTLETest

Android Studioのバージョン0.53から3.4.1へのコンバートのようです。

移行作業

SDKの設定

APP>java>MainActivityt開いて中のソースを見るとエラーたっぷり。
まず、Android SDKの設定が抜けているようです。
SDK設定.PNG
上記Setup SDKを選択してSDKを選択。
SDK選択.PNG
開発したいアンドロイドのバージョンを選んで選択しましょう。今回は自分の端末(Android8.0)で使いたいので、Android API 25(Android 7.1.1に対応)を選びます。

それでもまだMainActivityでエラーを吐いている。プロジェクト自体に対応するAndroidのバージョンが設定されていないようだ。
API選択.png

Fileメニュー>Project Structureを選択。
Modulesを選択肢、Default Configをクリックすると対象とするAPIレベルを選択できる。
先程と同様に、Target SDK VersionとMin SDK Versionを25に設定。
Project SDK選択.PNG

でもまだエラーが起こる。この設定だけではダメそうなので、続いてエラーを吐いているgradleの設定を確認する。

Gradleの設定

軽く調べた感じだと、プロジェクトとアプリのビルド設定(build.gradle)が古いようだ。
エラーで検索したところ、古いバージョンでの移行時の記事を発見。
ProjectのGradle.PNG
上記画像のエラーを吐いている部分をAndroid Studioのバージョンに合わせれば良いようだ。
Gradleのバージョンについての記事をQiita上に発見。そこからリンクをたどり、2019/06/21時点でのバージョンを調べた。とりあえず、現時点のbuild.gradleおよびgradle-wrapper.propertiesは下記のようになるようだ。

「minifyEnabled」が重要。古いプロジェクトをインポートする際はこれに変更する必要があるようだ。
参考:https://stackoverflow.com/questions/27233800/android-studio-could-not-find-method-runproguard-for-arguments

build.gradle(app)
apply plugin: 'com.android.application'

android {
    compileSdkVersion 25
    buildToolsVersion "25.0.3"

    defaultConfig {
        minSdkVersion 25
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
}


build.gradle(BTLETTest)
// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        mavenCentral()
        google()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.4.1'
    }
}

allprojects {
    repositories {
        mavenCentral()
        google()
    }
}
gradle-wrapper.properties
#Wed Apr 10 15:27:10 PDT 2013
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl = https\://services.gradle.org/distributions/gradle-5.1.1-all.zip

動作確認

上記までの設定でビルドが通るようになり、SDKやらなんやらが古いとかで何度か必要なファイルをダウンロードし、Android Studioに勧められるまま結局SDKを28にアップロードして、コンパイルが通りました。

最終的にちゃんとビルドし、自分のAndroid上で動くことを確認しました。
Screenshot_20190621-115412.jpg

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1