android - 生成签名的 apk 后我的评分栏不显示
问题描述
我有一个评级栏类如下。
class Rating extends FieldAndroid {
@Override
public String register() {
return register("rating");
}
@Override
protected Object createControl() {
LinearLayout layout = new LinearLayout(getContext());
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
final RatingBar ratingBar = new android.widget.RatingBar(getContext());
ratingBar.setStepSize((float) 1.0);
if (getEditable())
ratingBar.setOnRatingBarChangeListener(new RatingBar.OnRatingBarChangeListener() {
public void onRatingChanged(RatingBar ratingBar, float rating,
boolean fromUser) {
ratingBar.setRating(rating);
}
});
layout.addView(ratingBar, params);
return layout;
}
当我通过在任何模拟器中运行安装 apk 时,它运行良好。但是当我使用我的密钥库生成签名的 apk 时,我的评级栏没有出现。
你知道可能是什么问题吗?
解决方案
打开你的proguard-rules.pro
添加
-keep class * {
public private *;
}
供参考
如果你想添加Rating
类然后
-keep public class yourPackage.Rating
然后Clean-Rebuild-Run
。
笔记
如果您设置,您的代码将有效 minifyEnabled false
buildTypes {
release {
minifyEnabled false
推荐阅读
- c# - XML 反序列化忽略一个元素
- knockout.js - 淘汰赛阵列复选框未正确绑定
- css - 将位置固定元素的正确位置固定为相同,无论父元素是否有滚动条
- asp.net-mvc - 如何使 TempData 文本的某些部分变为粗体?
- c - 为什么会这样?ANSI 在数学函数中使用时是否会将以十六进制“形式”写入的值转换为十进制相等?
- php - 没有斜杠的 nginx 配置
- c++ - 没有花括号的枚举形式
- python - 将 np.array 添加到列表后尺寸丢失
- azure - Azure powershell - 如何拉
- javascript - 如何在javascript中的dd-mm-yyyy中显示dob?