2015-06-22 122 views
0

我有一个使用appcompat.v7 ShareActionProvider的android应用程序。当我在设备上运行应用程序frm Android Studio时,我看到一个共享图标,我可以共享我的内容。ShareActionProvider在发布版本中缺失共享图标

一旦我从菜单中运行“生成已打开的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 build很好,没有错误,其他应用程序运行良好。我使用v7.Toolbar,例如...

任何想法为什么ShareActionProvider不工作?

最好的问候, 扬

回答

0

这个问题是很老,但因为我只是有这个问题,但没有找到一个立即解决,我会继续和分享答案我终于发现。该解决方案来自Tanis.7x在回答这个独立但相关的问题在这里:Android Proguard: Release build Force Close

引述Tanis.7x

的问题是,ShareActionProvider被剥离/混淆,但支持库需求它保持原样。

此行添加到您的ProGuard配置,你应该设置:

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

我放弃了该行代码到proguard-rules.pro文件,ShareActionProvider恢复正常操作。

希望有帮助!