После использования набора инструментов, включенного в Android NDK, для компиляции ваших двоичных файлов, можно упаковать их в обычное приложение для Android и создать их как подпроцессы.
Вам нужно будет включить все необходимыефайлы в папке активов вашего приложения.Чтобы запустить их, необходимо, чтобы программа скопировала их из папки активов в доступное место, например: /data/data/com.yourdomain.yourapp/nativeFolder
Вы можете сделать это следующим образом:1005 *
private static void copyFile(String assetPath, String localPath, Context context) {
try {
InputStream in = context.getAssets().open(assetPath);
FileOutputStream out = new FileOutputStream(localPath);
int read;
byte[] buffer = new byte[4096];
while ((read = in.read(buffer)) > 0) {
out.write(buffer, 0, read);
}
out.close();
in.close();
} catch (IOException e) {
throw new RuntimeException(e);
}
}
Имейте в виду, что assetPath не является абсолютным, но относительно активов /.запустите ваше приложение и прочитайте его вывод, вы можете сделать что-то вроде этого:
Process nativeApp = Runtime.getRuntime().exec("/data/data/com.yourdomain.yourapp/nativeFolder/application");
BufferedReader reader = new BufferedReader(new InputStreamReader(nativeApp.getInputStream()));
int read;
char[] buffer = new char[4096];
StringBuffer output = new StringBuffer();
while ((read = reader.read(buffer)) > 0) {
output.append(buffer, 0, read);
}
reader.close();
// Waits for the command to finish.
nativeApp.waitFor();
String nativeOutput = output.toString();