尝试生成发布签名APK时Android Studio错误,但让你构建调试APK

时间:2017-09-01 06:54:40

标签: android android-studio

当我在Android Studio 2.3.3中使用“Build APK”选项时,它会生成一个没有问题的调试APK,但是当我尝试生成已签名的APK时,会出现错误:

  

生成签名APK:构建APK时的错误。你可以找到   “消息”视图中的错误。

在“消息”视图中:

  

错误:字符串[ResourceType]

类型的预期资源

它似乎不是密钥库或签名的问题,因为它引导我到代码的一行,这是:

String color = getResources().getString(VarGlobales.color4).substring(3);

VarGlobales只是我创建的用于定义全局变量的类,当然它是正确导入的。 VarGlobales.color4有下划线,当我悬停时,它会说:

  

字符串类型的预期资源[less ...](Ctrl + F1)此检查   查看已使用各种注释的Android API调用   支持注释(例如RequiresPermission或UiThread)和标志   任何未正确使用API​​的调用   注释。此检查标记的错误示例:传递   错误类型的资源整数(如R.string)到API   期望一种不同的类型(例如R.dimen)。忘记调用了   在需要它的方法中重写方法(通过超级)调用a   在没有声明的情况下需要权限的方法   清单中的权限将资源颜色引用传递给a   期望RGB整数值的方法。 ...还有很多。更多   信息,请参阅文档   http://developer.android.com/tools/debugging/annotations.html

VarGlobales.color4是一个整数,因此,据我所知,它不应该给出任何错误,因为getString()需要一个整数ID作为参数。这个定义是否具有我预期的价值?就像这样:

// In VarGlobales class
public static int color4 = R.color.teal4;

R.color.teal4colors.xml这种方式定义:

// In colors.xml
<color name="teal4">#00796B</color>

奇怪的是,在构建调试APK时它不会出现任何错误,因此首先它不应该是代码问题。

0 个答案:

没有答案