我创建了一个字母表应用。我用了26个音频文件。文件扩展名为.amr
。这些文件的名称为m1.amr
到m26.amr
。
在模拟器中一切正常,但是
当我创建签名的apk时,我有很多错误
部分代码如下。我使用数组作为音频文件,并将其保存在原始目录
中private static final int [] media_ids =
{
R.raw.m1,R.raw.m2,R.raw.m3,R.raw.m4..... R.raw.m26
};
和这些文件代码
if(soundboolvalue==true){
try {
mp = MediaPlayer.create(this, R.raw.weldon27); //well done
mp.start();
}catch (Exception e){
e.printStackTrace();
}
在创建签名apk时,我得到的错误是: -
:app:processReleaseJavaRes UP-TO-DATE
:app:compileReleaseJavaWithJavac
E:\AndroidStudioExeWorkSpace\AlphabetsZone\app\src\main\java\alpha\logintech\alphabetszone\HardModeActivity.java
Error:(40, 46) error: cannot find symbol variable raw
Error:(40, 55) error: cannot find symbol variable raw
Error:(40, 64) error: cannot find symbol variable raw
.
.
Error:(147, 49) error: cannot find symbol variable raw
Note: E:\AndroidStudioExeWorkSpace\AlphabetsZone\app\src\main\java\alpha\logintech\alphabetszone\Main.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Error:Execution failed for task ':app:compileReleaseJavaWithJavac'.
> Compilation failed; see the compiler error output for details.
Information:BUILD FAILED
答案 0 :(得分:0)
我希望我的答案不迟。最近我遇到了完全相同的问题,我试图制作一个apk版本,但我收到的错误信息与你相同。另一方面,应用程序在调试模式下完美运行。 我发现我的proguard-rules文件缺少一些规则,因为我在发布模式下启用了混淆。你必须仔细检查你的proguard规则是否是最新的。 在进行任何更新之前,请先尝试从gradle文件中禁用模糊处理,或者将-dontobfuscate添加到proguard规则中,如果问题消失,则表示您必须使用自己的相应规则更新gradle文件。