2017-03-02 5 views
0

私はアンドロイドのスタジオを使用してアームアセンブリコールイムを行うには、JNIを使​​用していますが、それは外部のメイクファイルは少しAndroidのメーカーのARMv7プロジェクト

https://github.com/Miouyouyou/ARMv7-Java-JNI-call

https://github.com/Miouyouyou/ARMv7-Java-JNI-return

を失ったイム持っているこれらのプロジェクトを実行しようとしています

私はアンドロイドスタジオ端子を使用して作るのですかしようとしたとき、私は私が

armv7a-hardfloat-のlinux-gnueabi-として取得-o decypherArcane.o decypherAr(GNUのmakeを使用して)、Windows上でAndroidのスタジオを使用しています(0、armv7a-hardfloat-linux-gnueabi-as -o decypher )make(e = 2):指定されたファイルが見つかりません。 メイク:*** [decypherArcane.o]エラー2

私はそれはおそらく私が1

.BATにメイクファイルを変換する場合、これはメイクファイルで作業すると思います(それはアンドロイドのルート外にありますスタジオプロジェクト)

`CROSS_COMPILE = armv7a-hardfloat-linux-gnueabi- 
LD = $(CROSS_COMPILE)ld.gold 
AS = $(CROSS_COMPILE)as 
ANDROID_APK_NATIVE_LIB_DIR = ./apk/app/src/main/jniLibs 
ANDROID_LIBNAME = libarcane.so 
SOURCE = decypherArcane.s 
OBJECT = decypherArcane.o 

.PHONY: all 
all: $(OBJECT) 
    $(LD) -shared --dynamic-linker=/system/bin/linker --hash-style=sysv -o $(ANDROID_LIBNAME) $(OBJECT) 
    mkdir -p $(ANDROID_APK_NATIVE_LIB_DIR)/armeabi{,-v7a} 
    cp $(ANDROID_LIBNAME) $(ANDROID_APK_NATIVE_LIB_DIR)/armeabi 
    cp $(ANDROID_LIBNAME) $(ANDROID_APK_NATIVE_LIB_DIR)/armeabi-v7a 

.PHONY: install 
install: all 
    make -C apk 

$(OBJECT): $(SOURCE) 
    $(AS) -o $(OBJECT) $(SOURCE) 

.PHONY: clean 
clean: 
    $(RM) $(OBJECT) $(ANDROID_LIBNAME) 

.PHONY: distclean 
distclean: clean 
    $(RM) $(ANDROID_APK_NATIVE_LIB_DIR)/armeabi/$(ANDROID_LIBNAME) 
    $(RM) $(ANDROID_APK_NATIVE_LIB_DIR)/armeabi-v7a/$(ANDROID_LIBNAME) 
` 

答えて

1

私はWindows上でビルドプロセスが少し容易になり、これら二つのプロジェクト、ARMv7-Java-JNI-returnARMv7-Java-JNI-callを更新しました。

あなたが必要となります:

  • のAndroid NDKパスごPATH環境変数に。

    • がリポジトリ
    • オープンコマンドウィンドウをクローン化されたフォルダを参照し、ここでShiftキーを使用して:
    • A JavaのJDKは、プロジェクトごとにサンプルAPK

    をコンパイルしてインストールするには + 右クリックここにコマンドウィンドウを開く

  • タイプmkBuild

すべてがうまくいけば、あなたはこのようなものが表示されます。その場合は

[armeabi] Compile arm : arcane <= decypherArcane.s 
[armeabi] SharedLibrary : libarcane.so 
[armeabi] Install  : libarcane.so => apk/app/src/main/jniLibs/armeabi/libarcane.so 
[armeabi-v7a] Compile arm : arcane <= decypherArcane.s 
[armeabi-v7a] SharedLibrary : libarcane.so 
[armeabi-v7a] Install  : libarcane.so => apk/app/src/main/jniLibs/armeabi-v7a/libarcane.so 

は、お使いの携帯電話を接続し、開いたコマンドウィンドウで次のように入力します。

また、すべてがうまくいく場合、あなたの携帯電話には、 Decyph'Appまたはワイルドアセンブリ!。新しいアプリを実行し、結果を確認します。

これらのサンプルをビルド、インストール、または実行する際に問題が発生した場合は、GithubまたはGitlabミラーで問題チケットを開いてください。

+0

ありがとうございます –

関連する問題