Android 4.1(Jelly Bean)でネイティブARM実行ファイルを実行する方法を探しています。例えば、ARMv7a実行可能に古典CプログラムJelly BeanでネイティブARM実行ファイルを実行する
// hello.c
#include <stdio.h>
int main() {
printf("Hello world");
}
をコンパイルし、hello
は、Android NDKを使用して、Androidのシェルで実行しますと言います。私はこの方法は、そのようなことが
adb shell chmod 755 /data/local/hello
で実行できるようにしてから使用して、シェルでそれらを呼び出すために
adb push hello /data/local
変更許可によって/data/local
に実行可能ファイルをプッシュすると、ウェブ上で提案しようとしている
adb shell /data/local/hello
最後の手順でエラーが発生します。
/data/local/hello: not found
ですが、明らかにそのファイルがあります。問題は、Jelly Beanのシェルが実行することを許可していないということです。alienバイナリはもうありません。誰でもこれを確認して解決策をくれますか?
これはAndroidの質問に対するプログラミングではありません。私はこれがAndroidユーザーのハードコアに興味があると思う。 – ale
@Chahkありがとうございました。しかし、私はそれが私の元の質問に答えたとは思わない。最終的に、私は 'dd'のようなプログラムをクロスコンパイルしたり、ARMのプリビルド版を使って実行したいと考えています。今私はシステム上に新しいバイナリをインストールする 'busybox'と 'kbox'を思い出すので、ここではセキュリティ上の問題はないと思います。私は彼らがどのようにそれをしたかを見るためにそれらの仕事をチェックします。 –
@Chahk - スタックオーバーフローの問題は2011年10月からのものであり、そのため不特定のAndroidの古いバージョンに対応しているため、Jelly Bean *の回答は異なる可能性があります。質問者は実際に誰かがそれが正しいかどうかを確認してほしいだけです。これはAndroidに関する実用的な答える質問です。 –