MediaPlayer播放失败,打包失败

1. MediaPlayer  error (1, -2147483648)
  在一个工程中,用到了播放.wav声音文件,但是遇到了 error (1, -2147483648) 这个问题,详细错误信息如下:
    
解决方法:
原来的:            
 /* 设置要播放的文件的路径 */   
mMediaPlayer.setDataSource(MUSIC_PATH + mMusicList.get(value)); 
 /* 准备播放 */   
mMediaPlayer.prepare();   

        
修改成:  
File file=new File(MUSIC_PATH +"/"+ mMusicList.get(value));
FileInputStream fis=new FileInputStream(file);
mMediaPlayer.setDataSource(fis.getFD());
mMediaPlayer.prepare();

注意:路径一定要正确,不要少掉这个'/'.       

2.打包失败--多国语言版本
 在给一个工程打包发布的时候,出现了一个问题,如下:
     
 最后定位到是String.xml中字符串资源多国语言版本的问题,
"Description    Resource    Path    Location    Type "your_string_name"  is not translated in af, am, ar, be, bg, ca, cs, da, de, el, en-rGB, es, es-rUS, et, fa, fi, fr, hi, hr, hu, in, it, iw, ja, ko, lt, lv, ms, nb, nl, pl, pt, pt-rPT, ro, ru, sk, sl, sr, sv, sw, th, tl, tr, uk, vi, zh-rTW, zu     strings.xml    /projectname/res/values    line 44    Android Lint Problem
   遇到类似上面的错误,那要么想办法编制提示到的所有语言版本,一个不漏地将所有字符串资源翻译一遍,要么就看看调整项目属性项怎么解决。
  选择你的项目-->右击,在弹出菜单中选最后一项"Properties"打开。在下面页面中选择 “Android Lint Preference”,然后将 “MissingTranslation” 从 “fatal” 改为 “warning"或“warning"以下的选项。
  
  这样就可以了。
2.1  至于为什么要将apk打包的问题,以前也比较懵懂,后来在网上找到一个说法,比较合理:
 开发Android的人这么多,完全有可能大家都把类名,包名起成了一个同样的名字,这时候如何区分?签名这时候就是起区分作用的。
 由于开发商可能通过使用相同的Package Name来混淆替换已经安装的程序,签名可以保证相当名字,但是签名不同的包不被替换。
 APK如果使用一个key签名,发布时另一个key签名的文件将无法安装或覆盖老的版本,这样可以防止你已安装的应用被恶意的第三方覆盖或替换掉。
这样签名其实也是开发者的身份标识。交易中抵赖等事情发生时,签名可以防止抵赖的发生。
2.2 怎么打包一个工程发布,可以查看这篇文章: Android数字签名

3. Android Studio 打包
 Android Studio中获取SHA1或MD5的方法

























评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值