Android Studio:尝试第二次启动应用程序时失败
Android Studio出现问题: 我可以在第一次点击“run”(即绿色三角形)时运行我的android应用程序。然后它将启动AVD并加载我的应用程序,以便我可以测试和调试它。 但每当我想再次启动应用程序时(即通常在完成一些修改后),gradle构建总是以以下方式结束:Android Studio:尝试第二次启动应用程序时失败,android,android-studio,Android,Android Studio,Android Studio出现问题: 我可以在第一次点击“run”(即绿色三角形)时运行我的android应用程序。然后它将启动AVD并加载我的应用程序,以便我可以测试和调试它。 但每当我想再次启动应用程序时(即通常在完成一些修改后),gradle构建总是以以下方式结束: ... (!) Run Task Android issues: 1 Error (!) Program type already present: android.support.v4.app.BackS
...
(!) Run Task
Android issues: 1 Error
(!) Program type already present: android.support.v4.app.BackStackRecord$Op
右侧窗格显示:
Program type already present: android.support.v4.app.BackStackRecord$Op
Message{kind=ERROR, text=Program type already present: android.support.v4.app.BackStackRecord$Op, sources=[Unknown source file], tool name=Optional.of(D8)}
为什么不加载和重新启动应用程序的新/修改版本。我找到了misc。提出相同问题的线程,但给出的建议都没有帮助我解决这个问题。因此,我仍然需要杀死AVD并重新启动它,这是最乏味和耗时的,因为它总是首先需要重新启动!我怎样才能解决这个问题
我的应用程序的gradle文件如下:
apply plugin: 'com.android.application'
android {
compileSdkVersion 28
defaultConfig {
applicationId "myapp.application.mmo.myapp"
minSdkVersion 19
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:28.0.0-alpha3'
implementation 'com.android.support.constraint:constraint-layout:1.1.2'
implementation 'com.android.support:design:28.0.0-alpha3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}
我错过了什么?为什么这不起作用并用新版本替换已安装的应用程序
注:我不会说以前基于Eclipse的Android开发环境是完美的。绝对不是这样!但是有了基于IntelliJ的环境,我有了更多的麻烦和怪人!如果事情在这里不起作用,我总是发现找出为什么事情不起作用是非常困难和耗时的 您的
build.gradle
没有任何com.android.support:support-v4
(可能在libs
目录中除外,最好将其删除),因此我假设它已被编辑,直到不再匹配错误消息为止
在终端中运行/gradlew:app:dependencies>/dependencies.txt
,查看什么依赖于support-v4
,然后使用exclude
确保每个库在生成配置中只存在一次
为了调试,不是这个按钮,而是这个按钮。没有-我没有编辑该文件中的任何内容。这是Android studio生成的。我对格雷德尔还不够了解,不敢改变任何事情。对我来说,这仍然是一本有七个印章的书。因此-请原谅我的无知-但我到底需要在哪里添加您提到的“com.android.support:support-v4”或“使用exclude”?@mmo很可能您只需要从
libs
目录中删除重复的support-v4
库,它可能是ant
构建的遗迹。。。我没有告诉你在任何地方添加它,仔细阅读。@mmo只是在另一个答案中解释了它(另一个类,相同的产品):谢谢!实际上,libs文件夹中有一个android-support-v4.jar(或者类似的名称,不记得确切的名称)。这就是我在Eclipse下开发时必须添加它的地方。删除了那个,然后事情就好了。。。