如何在android中打开较旧的项目(SDK版本为23)
我正在读马克·威克姆的《实用机器人》一书。我试图从Connections应用程序中打开源代码,但由于这是一个较旧的项目(2018年),我遇到了许多问题 问题如何在android中打开较旧的项目(SDK版本为23),android,android-studio,Android,Android Studio,我正在读马克·威克姆的《实用机器人》一书。我试图从Connections应用程序中打开源代码,但由于这是一个较旧的项目(2018年),我遇到了许多问题 问题 卡在加载屏幕设备上;无法运行项目 我尝试过的 从该链接使缓存无效/重新启动 下面是这个链接,但我在我的项目中找不到任何gradle包装器 具体而言,在该应用程序中,我的屏幕如下所示: 如果你看顶部,我无法选择任何设备。请注意,任何其他项目都不会发生这种情况(尝试创建空白项目,但未出现问题) 如何运行此项目 谢谢 应用程序build.
- 卡在加载屏幕设备上;无法运行项目
- 从该链接使缓存无效/重新启动
- 下面是这个链接,但我在我的项目中找不到任何gradle包装器
apply plugin: 'com.android.application'
android {
compileSdkVersion 30
defaultConfig {
applicationId "com.wickham.android.connections"
minSdkVersion 19
targetSdkVersion 30
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
applicationVariants.all { variant ->
variant.outputs.each { output ->
def project = "Connections"
def SEP = "_"
def buildType = variant.variantData.variantConfiguration.buildType.name
def version = variant.versionName
def date = new Date();
def formattedDate = date.format('ddMMyy_HHmm')
def newApkName = project + SEP + version + SEP + formattedDate + ".apk"
output.outputFile = new File(output.outputFile.parent, newApkName)
}
}
}
Project build.gradle:
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
google()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:4.2.1'
}
}
allprojects {
repositories {
google()
mavenCentral()
}
}
我刚刚在这里的connections应用程序中对build.gradle进行了少量编辑:最可能的原因是这些项目的gradle构建工具版本与Android Studio支持的构建工具不兼容 因此,在打开这些项目之前(为了使它们不被Android Studio修改),您可以将它们迁移到Android Studio上已有的gradle版本。为此,您可以使用文本编辑器更改:
myAppName\gradle\wrapper\gradle wrapper.properties
文件中,在distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-bin.zip行中:更改为您拥有的gradle版本(因此您需要在示例中更改此编号6.7.1
)
C:/Users/myUserName/.gradle/wrapper/dists/
myAppName\build.gradle
中,您需要更改gradle插件版本,以与步骤1中的gradle分发版本相匹配李>
更新
请遵循以下程序。。这是乏味的,但工作:
src
,lib
,raw
。。或者将项目的/app
下的任何资产文件夹放入全新项目的/app
themes.xml
文件
\app\build.gradle
复制到新项目中,并将编译
替换为实现
,将测试编译
替换为测试实现
我对其中一个应用程序进行了测试,该应用程序运行了。“因为它是一个较旧的项目(2018)”--从文件的外观来看,它比这要旧。构建说明可以追溯到安卓6.0,现在已经有六年的历史了。你可能会考虑使用一本更新的书。嗯,它是在2018出版的,但也许比它早写了。但是,有没有其他方法可以让我运行这个项目?谢谢。我正在努力学习网络,这是我能找到的最新内容。“无论如何,我可以运行这个项目吗?”--可能吧,但你实际上没有解释你的任何问题。例如,您的标题有“与旧的依赖项”,但该项目没有依赖项。你可以考虑编辑你的问题,删掉除了第一段以外的所有段落,然后准确地解释你的“许多问题”。解释你尝试了什么,并详细解释症状是什么。“我正在尝试学习网络”--我不知道你如何定义“网络”,但有许多关于Android应用程序开发的书比这本书更新,并演示了网络I/O。我自己写的。嗨,我通过添加google()改变了我的依赖关系添加mavenCentral()将构建更改为4.2.1,将gradle包装更改为6.7.1,但它仍然不起作用。谢谢。我还尝试将compile sdk版本更改为30,并将targetSdk版本也调整为30。Hi@CodingChap分享project/module
build.gradle
内容是值得的,这样有人可以help@CodingChap请检查答案中的更新部分