错误:Unable to determine application id: com.android.tools.idea.run.ApkProvisionException: No outputs for the main artifact of variant: debug
前言:最近在做新浪微博第三方登录,下载了官方的demo,运行时报出以上错误。
找到了这篇文章:Unable to determine application id: com.android.tools.idea.run.ApkProvisionException: No outputs for
但是并不能解决我的问题,又看了该文章下方的评论,又结合自身的情况,终于解决。
解决办法:
1、首先选择Edit Configurations进入设置界面;
2、按图选择即可,最后确定保存设置。
上述解决方法可能不报错,但是也会无法运行,根本原因还是Gradle的问题。
3、修改gradle设置;
参照自己本地运行成功的项目修改 项目的build.gradle文件、app的build.gradle文件、gradle.properties文件。
以下文件是我自己的,大家结合自己的实际情况修改。
3.1、项目的build.gradle文件
buildscript {
repositories {
google()
jcenter()
maven { url "https://dl.bintray.com/thelasterstar/maven/" }
}
dependencies {
classpath 'com.android.tools.build:gradle:3.6.3'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
google()
jcenter()
maven { url "https://dl.bintray.com/thelasterstar/maven/" }
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
3.2、app的build.gradle文件
apply plugin: 'com.android.application'
android {
compileSdkVersion 29
defaultConfig {
applicationId "com.sina.weibo.sdk.demo"
minSdkVersion 16
targetSdkVersion 29
versionCode 1
versionName "1.0"
}
...
}
3.3、gradle.properties文件
#Mon Dec 28 10:00:20 PST 2015
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-all.zip
4、按照第1步的方式再改回 Default APK,再重新编译项目,应该就OK了。
后记:以上只是我自己的解决方案,每个人的情况可能并不相同,如果以上方法不行,大家再找找其他方法。
可能第1步和第4步根本就不用做,直接修改gradle就可以了,我也懒得试了,大家可以自己试一下哈。