Android Studio:运行/调试应用程序的发布版本

26

我已经将gradle build添加到Android应用程序中,并且可以从Android Studio启动。 gradlew build会生成调试版和发布版(经过签名、Proguard混淆)。

buildTypes {
    debug {
        zipAlignEnabled true
        versionNameSuffix "-" + buildDateTime()
    }
    release {
        minifyEnabled true
        // Eclipse project.properties # proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-project.txt'
        zipAlignEnabled true
        signingConfig signingConfigs.release
        versionNameSuffix "-" + buildDateTime()
    }

但是当我在设备上用adb install安装发布版时,它在启动时崩溃。

如何从Android Studio运行/调试应用程序的发布版本以查找问题的确切位置?

或者我能否在Eclipse中手动调试已签名的发布apk?

3个回答

60

有一个名为“Build Variants”的窗口,您可以在其中选择要安装在模拟器/设备上的版本。

enter image description here

您还需要将 debuggable true 添加到发布版本中才能进行调试。


3
顺便提一下,发布版本的BuildType中必须添加debuggable true,请参见http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Build-Types - Paul Verest
是的,我忽略了这个方面,Android Studio只会为调试版本添加这个。 - carstenbaumhoegger
更准确地说,这些是在Android Gradle插件中定义的默认值,而不是IDE。 - Paul Verest
我可以运行,但无法调试:“警告:调试信息可能不可用。请关闭使用ADB的其他应用程序:Monitor、DDMS、Eclipse”,以及“等待进程:com.company.app”。 在设备端,有一个对话框显示“等待调试器连接” :-( - Paul Verest
那个窗口对我来说是空的。没有值被列出。 - giorgio79
在 .kts 文件中:isDebuggable = true - tohidmahmoudvand

10

Android运行.apk文件

View -> Tool Windows -> Build Variants

此外,您可以使用 Gradle 工具栏或 ./gradlew tasks --all 命令。
//install on device(which is running)
Tasks -> install -> install<build_varaiant>

//open 
adb shell am start -n <package_name>/.<activity_name>

*Android Studio v4.2 默认不包含 Tasks 功能。您需要在 Preferences -> Experimental 中禁用 Do not build Gradle task list during Gradle sync 选项。


基本上是被接受答案的简短版本。 - Paul Verest

1
您可以在Android Studio中使用“Profile”或“Debug APK”选项来调试您的发布APK。

enter image description here


这个选项在我的可调试版本构建中显示了一个之前没有显示的错误。在我的情况下,我不得不下载并安装一个新的SDK版本。 - Ramiro G.M.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接