我认为这与proguard有关;请参阅帖子底部的编辑。
我正在使用 eclipse 构建一个小的 android 应用程序。
当我运行我的应用程序时(通过单击 eclipse 中的绿色运行按钮,我的手机通过 USB 连接到我的计算机),我的共享按钮如下所示:
..这就是我想要的。
当我归档 -> 导出我的应用程序并使用安装 APK adb install
(或者如果我将新 APK 上传到 Play 商店并安装更新)时,我的共享按钮如下所示:
......这是不幸的。
如何让按钮在导出的应用程序中显示为白色?
我的代码中的一些片段:
菜单项:
<item
android:id="@+id/menu_item_share"
android:title="@string/action_share"
mysapp:showAsAction="ifRoom"
myapp:actionProviderClass="android.support.v7.widget.ShareActionProvider" />
我的 res/values/styles.xml:
<!--
Base application theme, dependent on API level. This theme is replaced
by AppBaseTheme from res/values-vXX/styles.xml on newer devices.
-->
<style name="AppBaseTheme" parent="Theme.AppCompat.Light">
<!--
Theme customizations available in newer API levels can go in
res/values-vXX/styles.xml, while customizations related to
backward-compatibility can go here.
-->
</style>
<!-- Application theme. -->
<style name="AppTheme" parent="AppBaseTheme">
<!-- All customizations that are NOT specific to a particular API-level can go here. -->
</style>
<style name="vertical_space">
<item name="android:layout_marginTop">10dp</item>
</style>
res/values-v14/styles.xml:
<!--
Base application theme for API 14+. This theme completely replaces
AppBaseTheme from BOTH res/values/styles.xml and
res/values-v11/styles.xml on API 14+ devices.
-->
<style name="AppBaseTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- API 14 theme customizations can go here. -->
</style>
我还有一个 values-v11/styles.xml 和parent="Theme.AppCompat.Light.DarkActionBar"
. 我没有 values-v21 目录。
编辑 1:
我正在尝试考虑导出应用程序与仅从 Eclipse 运行它时发生的变化。
一种可能性是我在以下位置启用了 proguard project.properties
:
proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
Proguard 仅在导出时有效,对吗?不确定这是否可以解释。
编辑 2:
我注释掉了 proguard.config 行,project.properties
问题就消失了,即导出应用程序时共享按钮是白色的。但是,我希望启用 proguard。导出时如何启用proguard并保持按钮为白色?