我有一个使用jni
库的项目。为此,我在gradle
文件中设置了这个设置,根据平台拆分apks(并且工作正常):
applicationVariants.all { variant ->
variant.outputs.each { output ->
output.properties.put(signingConfig, signingConfigs.config)
output.versionCodeOverride =
versionCodes.get(output.getFilter(
com.android.build.OutputFile.ABI), 0) * 10000000 + android.defaultConfig.versionCode
}
}
splits {
abi {
enable true
reset()
include "armeabi", "armeabi-v7a", "arm64-v8a", "mips", "mips64", "x86", "x86_64"
universalApk true
}
}
现在我想设置一个签名配置,这样我就可以直接从android studio运行release
Build变体,所以我将它添加到我的gradle
文件中:
def keystorePropertiesFile = rootProject.file("keystore.properties")
def keystoreProperties = new Properties()
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
android {
signingConfigs {
config {
keyAlias keystoreProperties['keyAlias']
keyPassword keystoreProperties['keyPassword']
storeFile rootProject.file(keystoreProperties['storeFile'])
storePassword keystoreProperties['storePassword']
}
}
buildTypes {
release {
minifyEnabled true
shrinkResources true
buildConfigField "boolean", "MOCK_MODE", "false"
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.config
}
debug {
minifyEnabled false
shrinkResources false
buildConfigField "boolean", "MOCK_MODE", "true"
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
在此之后,如果我运行发布版本,我将收到错误Error:path may not be null or empty string. path='null'
注意如果我通过设置abi {enable false}
来禁用分割,那么sigining将被放置并且应用程序按照预期运行,所以我认为有一些并发症在拆分apks和签署配置之间。
任何帮助都将不胜感激。
提前tnx。答案 0 :(得分:0)
将android studio从3.12更新到3.14,该错误消失了。