Android-----打包可执行文件并在apk调用
2013-09-26 22:59
507 查看
1.首先交叉编译可执行文件hello
参考:/article/7886408.html
2.将hello放到assets下
3.举例:
4.效果:
参考:/article/7886408.html
2.将hello放到assets下
3.举例:
package com.test.android.exe; import java.io.BufferedReader; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import android.app.Activity; import android.os.Bundle; import android.util.Log; import android.view.Menu; public class MainActivity extends Activity { private String exe_path = "data/data/com.test.android.exe/hello"; private File exe_file; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); try { copyBigDataToSD(exe_path); exe_file = new File(exe_path); exe_file.setExecutable(true, true); execCmd(exe_path); } catch (IOException e1) { e1.printStackTrace(); } } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } private void execCmd(String cmd) throws IOException { Runtime runtime = Runtime.getRuntime(); Process process = runtime.exec(cmd); InputStream is = process.getInputStream(); InputStreamReader isr = new InputStreamReader(is); BufferedReader br = new BufferedReader(isr); String line = null; while (null != (line = br.readLine())) { Log.e("########", line); } try { process.waitFor(); } catch (InterruptedException e) { e.printStackTrace(); } } private void copyBigDataToSD(String strOutFileName) throws IOException { InputStream myInput; OutputStream myOutput = new FileOutputStream(strOutFileName); myInput = this.getAssets().open("hello"); byte[] buffer = new byte[1024]; int length = myInput.read(buffer); while(length > 0) { myOutput.write(buffer, 0, length); length = myInput.read(buffer); } myOutput.flush(); myInput.close(); myOutput.close(); } }
4.效果:
相关文章推荐
- android studio 打包发布签名后的apk文件时出现Error:Execution failed for task ':app:transformClassesAndResourcesWi
- Android项目打包成APK文件
- Android平台apk文件执行最高权限路径
- Android 自动编译、打包生成apk文件 3 - 使用SDK Ant方式
- Android项目打包成APK文件
- Android 自动编译、打包生成apk文件 1 - 命令行方式
- Android 自动编译、打包生成apk文件 4 - 多渠道批量打包
- Android debug生成的APK文件和打包好的APK文件运行不一致问题
- Android-生成签名文件apk打包
- android源码中编译打包so文件进apk
- 【Android】app打包成apk文件以后,如何查看VersionCode、VersionName等版本信息
- Android将Activity打成jar包供第三方调用(解决资源文件不能打包的问题)
- Android工程依赖:android中打包带有Activity以及资源文件的jar包在工程中调用
- Android 如何对apk文件进行反编译以及重新打包签名 标签: apktoolandroid反编译jebSmali2Java 2016-05-10 16:00 3897人阅读 评论(0) 收藏
- Ant打包Android代码生成apk文件
- android 生成签名文件与APK打包(学习笔记)
- windows下Android利用ant自动编译、修改配置文件、批量多渠道,打包生成apk文件
- Android中打包含有Activity以及资源文件的jar包在工程中调用
- ant 编译android程序 执行build.xml文件到打包资源文件时候报错!提示找不到资源文件!
- android中打包含有Activity以及资源文件的jar包在工程中调用