如何在 Android Studio 中构建旧的 Android 项目

How to build old Android project in Android Studio

我找到了一个旧的 git 存储库。 这是索尼系统相机的 Android 应用程序。

它适用于 Android SDK 10

项目可以在这里找到: https://github.com/ma1co/PMCADemo

我无法在最新版本的 Android Studio 中构建它。我已将详细信息添加到以下问题: https://github.com/ma1co/PMCADemo/issues/16

我希望这里有更多人可以帮助我,repo 上次更新是在 2018 年。

我更改了以下文件,它对我来说工作正常(你需要根据你的 android 工作室版本 specify Gradle 插件,我的版本是 3.4)

gradle-wrapper.properties

#Sun Jul 21 00:42:34 IST 2019
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
#distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-5.1.1-all.zip

build.gradle顶层

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

    allprojects {
        repositories {
            google()
            jcenter()
            maven {
                url "https://jitpack.io"
            }
        }
    }

build.gradle 应用级别

apply plugin: 'com.android.application'

android {
    compileSdkVersion 28
//    buildToolsVersion "25.0.2"

    defaultConfig {
        applicationId "com.github.ma1co.pmcademo.app"
        minSdkVersion 18
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        multiDexEnabled true
    }

//    compileOptions {
//        sourceCompatibility JavaVersion.VERSION_1_6
//        targetCompatibility JavaVersion.VERSION_1_6
//    }
}

//android.applicationVariants.all { variant ->
//    variant.outputs.each { output ->
//        def apkName = "PMCADemo-${output.baseName}-${variant.versionName}.apk"
//        output.outputFile = new File(output.outputFile.parent, apkName)
//    }
//}

dependencies {
    implementation 'com.github.ma1co.OpenMemories-Framework:framework:-SNAPSHOT'
    compileOnly 'com.github.ma1co.OpenMemories-Framework:stubs:-SNAPSHOT'
    implementation 'com.nanohttpd:nanohttpd:2.1.1'
}

It is my output