我有一个使用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无效的原因吗?
祝你好运, 扬
答案 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恢复正常运行。
希望有所帮助!