android文件处理



转载自:http://blog.csdn.net/t12x3456/article/details/7703727
 android 反编译apk文件
分类: android 2012-06-29 21:01 228人阅读 评论(0) 收藏 举报
安装ApkTool工具,该工具可以解码得到资源文件,但不能得到Java源文件。
安装环境:需要安装JRE1.6
1> 到http://code.google.com/p/android-apktool/下载apktool1.3.2.tar.bz2 和apktool-install-windows-2.2_r01-3.tar.bz2 文件。解压两个文件,然后把解压后的文件放在一起,如:c:\apktool
2> 在系统变量PATH中添加进aapt.exe,如:;c:\apktool\aapt.exe
3> 在DOS窗口下进入apktool.jar所在目录。执行DOS命令:apktool d -s c:\soft\xxx.apk c:\soft\source。
命令格式:apktool d [opts] <file.apk> [dir]  中的d代表解码,[opts]代表选项,-s选项代表不解码源文件。


Apktool工具只能反编译成smali的中间代码文件,这里需要借助另外一个开源工具Dex2Jar,该工具可以把dex文件转换成jar文件。这个工具不能直接翻译成java文件,但是可以把dex文件转换成jar文件
下载地址:http://code.google.com/p/dex2jar/。
 1> 把APK安装包中的classes.dex解压到某个目录下,如:c:\soft
 2> 在DOS窗口下进入dex2jar.bat所在目录,执行DOS命令:dex2jar.bat c:\soft\source\classes.dex c:\soft\source,命令生成classes.dex.dex2jar.jar文件。


安装jd-gui工具,该工具可以把jar文件反编译成Java源文件
下载地址:http://java.decompiler.free.fr/jd-gui/downloads/jd-gui-0.3.3.windows.zip。
运行该软件,直接打开classes.dex.dex2jar.jar文件即可看到java源代码。
Android Studio中处理WAV文件,可以使用Android的MediaRecorder和MediaPlayer类。以下是一个简单的示例代码,演示如何录制和播放WAV文件: 录制WAV文件: ```java private MediaRecorder mediaRecorder; private String outputFile; private void startRecording() { outputFile = Environment.getExternalStorageDirectory().getAbsolutePath() + "/recording.wav"; mediaRecorder = new MediaRecorder(); mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC); mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.DEFAULT); mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT); mediaRecorder.setOutputFile(outputFile); try { mediaRecorder.prepare(); mediaRecorder.start(); } catch (IOException e) { e.printStackTrace(); } } private void stopRecording() { if (mediaRecorder != null) { mediaRecorder.stop(); mediaRecorder.release(); mediaRecorder = null; } } ``` 播放WAV文件: ```java private MediaPlayer mediaPlayer; private void playRecording() { mediaPlayer = new MediaPlayer(); try { mediaPlayer.setDataSource(outputFile); mediaPlayer.prepare(); mediaPlayer.start(); } catch (IOException e) { e.printStackTrace(); } } private void stopPlayback() { if (mediaPlayer != null) { mediaPlayer.stop(); mediaPlayer.release(); mediaPlayer = null; } } ``` 记得添加相应的权限到AndroidManifest.xml文件中: ```xml <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.RECORD_AUDIO" /> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值