根据有关配置gradle to sign apk的许多主题,我使用了这个solution。 它似乎需要适当的价值,但我不能成功整个运作。可能是字母“ł”的问题甚至在终端显示错误。我需要帮助,因为我现在不知道该怎么做。我花了大约4个小时......
这是主要项目app
gradle properites文件:
apply plugin: 'android'
android {
compileSdkVersion 19
buildToolsVersion "19.1.0"
defaultConfig {
minSdkVersion 10
targetSdkVersion 19
}
signingConfigs {
release {
storeFile file(RELEASE_STORE_FILE)
storePassword RELEASE_KEY_ALIAS
keyAlias RELEASE_KEY_ALIAS
keyPassword RELEASE_KEY_PASSWORD
}
}
buildTypes {
release {
signingConfig signingConfigs.release
}
}
}
dependencies {
//...
}
此文件从Window的用户目录中的~/.gradle/gradle.properties
文件中获取数据。
org.gradle.parallel=true
org.gradle.daemon=false
RELEASE_STORE_FILE=C:/users/xxx/f1/f1/android_market_key
RELEASE_STORE_PASSWORD=lololo
RELEASE_KEY_ALIAS=łłłł
RELEASE_KEY_PASSWORD=lololo
我尝试过使用:
compileOptions.encoding = "UTF-8"
或
tasks.withType(Compile) {
options.encoding = "UTF-8"
}
甚至为{D}添加了gradlew.bat
-D *的一些选项来设置编码但仍然失败。
请帮忙,我坚持了。
答案 0 :(得分:0)
检查gradle.properties
文件的编码并确保它是UTF-8。
某些编辑器(如记事本)默认为ANSI编码,如果文件包含非ASCII字符,则会导致问题。
(示例:在记事本中:文件 - >另存为 - >编码)
答案 1 :(得分:0)
所以我发现了部分解决方案,我需要使用从控制台读取的特殊字符的每个地方,它终于有效了:
解决方案:
apply plugin: 'android'
android {
compileSdkVersion 19
buildToolsVersion '19.1.0'
defaultConfig {
minSdkVersion 10
targetSdkVersion 19
}
signingConfigs {
release {
storeFile file(RELEASE_STORE_FILE)
storePassword RELEASE_STORE_PASSWORD
def console = System.console()
if (console != null) {
keyAlias System.console().readLine("\n\$ Enter key alias: ")
}
keyPassword RELEASE_KEY_PASSWORD
}
}
buildTypes {
release {
signingConfig signingConfigs.release
}
}
productFlavors {
}
}
dependencies {
//my dependencies
}
答案 2 :(得分:0)
在遇到相同的问题并花了几个小时之后,我设法成功构建如下:
按照here所述的说明操作。因此,我没有使用gradle.properties来存储值,而是将它们存储在自定义文件signing.properties中。
更改文件读取部分如下:
props.load(new InputStreamReader(new FileInputStream(propFile)," UTF-8"))
我希望它有所帮助。