First Android App

构建发布

带签名发布

1
keytool -genkey -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000

放在android/app文件夹下

编辑 ~/.gradle/gradle.properties

1
2
3
4
MYAPP_RELEASE_STORE_FILE=my-release-key.keystore
MYAPP_RELEASE_KEY_ALIAS=my-key-alias
MYAPP_RELEASE_STORE_PASSWORD=*****
MYAPP_RELEASE_KEY_PASSWORD=*****

编辑 android/app/build.gradle

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
android {
...
defaultConfig { ... }
signingConfigs {
release {
if (project.hasProperty('MYAPP_RELEASE_STORE_FILE')) {
storeFile file(MYAPP_RELEASE_STORE_FILE)
storePassword MYAPP_RELEASE_STORE_PASSWORD
keyAlias MYAPP_RELEASE_KEY_ALIAS
keyPassword MYAPP_RELEASE_KEY_PASSWORD
}
}
}
buildTypes {
release {
...
signingConfig signingConfigs.release
}
}
}

Build APK

  • gradlew installRelease 安装apk
  • gradlew assembleRelease 生成apk(不区分Variant)
  • gradlew build build所有Variant
  • gradlew assembleProduction build指定Variant

Android Troubleshooting

build.gradle 依赖下载失败

1
2
3
google()
maven{ url 'http://maven.aliyun.com/nexus/content/groups/public/'}
maven{ url 'http://maven.aliyun.com/nexus/content/repositories/jcenter'}

Active Build Variant 无法切换,导致无法打包

使用命令行build打包

avd 启动一次之后关闭,以后每次都闪退

导致每次都要Wipe Data后才能使用

The skin directory does not point to a valid skin

导致虚拟机属性无法修改

Privacy

Permissions Dialog