【问题标题】:Android Studio: run/debug release version of appAndroid Studio:运行/调试应用程序的发布版本
【发布时间】:2015-05-15 15:56:27
【问题描述】:

我已将 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()
    }

但是当我在设备上@9​​87654323@ 发布版本时,它会在启动时崩溃。

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

或者我可以在 Eclipse 中调试手动发布的签名 apk 吗?

【问题讨论】:

    标签: android debugging android-studio release


    【解决方案1】:

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

    您还必须将 debuggable true 添加到您的发布版本中才能对其进行调试。

    【讨论】:

    • BTW 必须添加 debuggable true 以发布 buildType 参见 tools.android.com/tech-docs/new-build-system/…
    • 是的,我错过了这一点,Android Studio 只为调试版本添加了这一点。
    • 更确切地说,这些是在 android gradle 插件中定义的默认值,而不是 IDE
    • 好吧,我可以运行,但我无法调试:Warning: debug info can be unavailable. Please close other application using ADB: Monitor, DDMS, EclipseWaiting for process: com.company.app 。在设计方面有对话框“等待调试器连接”:-(
    • 那个窗口对我来说是空的。未列出任何值
    【解决方案2】:

    你也可以使用

    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 -&gt; Experimental 中禁用Do not build Gradle task list during Gradle sync

    【讨论】:

    • 接受答案的基本上较短的版本。
    猜你喜欢
    • 2012-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-12
    相关资源
    最近更新 更多