2015-06-22 112 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恢復正常操作。

希望有幫助!