ShareActionProvider在发布版本中缺少共享图标

时间:2015-06-22 20:49:40

标签: android gradle shareactionprovider

我有一个使用appcompat.v7 ShareActionProvider的Android应用程序。当我在设备上运行Android Studio的app时,我看到了一个共享图标,我可以分享我的内容。

一旦我运行" Generate Singned APK"从菜单中并在我的设备上安装apk,我没有看到共享图标,而是我设置的文本。当我点击文本时,共享意图没有开始。

这是我的build.gradle ......

android {
compileSdkVersion 22
buildToolsVersion "23.0.0"

defaultConfig {
    applicationId "xxx.xxx.xx"
    minSdkVersion 14

    targetSdkVersion 22
    versionCode 1
    versionName "1.0"
}

buildTypes {
    release {
        minifyEnabled true
        shrinkResources true
        proguardFiles getDefaultProguardFile('proguard-android.txt')
    }
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile 'com.android.support:appcompat-v7:22.2.0+'
    compile 'com.google.android.gms:play-services:7.0.0'
    compile 'net.hockeyapp.android:HockeySDK:3.5.0'
}

如果我禁用缩小或缩小资源,则无关紧要。功能不起作用。 gradle构建很好,没有错误,应用程序的其余部分运行良好。我以v7.Toolbar为例......

知道ShareActionProvider无效的原因吗?

祝你好运, 扬

1 个答案:

答案 0 :(得分:0)

这个问题已经过时了,但由于我遇到了这个问题并且无法立即找到解决方案,我将继续分享我最终发现的答案。解决方案来自Tanis.7x,以回答这个单独但相关的问题:Android Proguard: Release build Force Close

引用Tanis.7x

  

问题在于剥离/混淆了ShareActionProvider,但支持库需要它保持原样。

     

将此行添加到您的proguard配置中,您应该设置:

     

-keep class android.support.v7.widget.ShareActionProvider { *; }

我将这行代码放入proguard-rules.pro文件中,并且ShareActionProvider恢复正常运行。

希望有所帮助!