私はAndroidプライベートAPIのいくつかを使用するアプリケーションに取り組んでいます。私は自分の携帯電話用に構成された完全なAndroid(CM10)ソースの一部としてそれを構築します。結果のバイナリはそのデバイスでうまく機能しますが、同じAndroidバージョンの他のデバイスでセグメンテーション違反をスローします。そのようにコンパイルされた単純なhelloworldでさえSegfaultをスローするため、APIが欠落しているという問題はありません。サンプルコードは次のとおりです。
hello-cmd.cpp
#include<stdio.h>
int main(int argc, char* argv[]) {
printf("Hello Command Line!");
return 0;
}
Android.mk
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := hello-cmd
LOCAL_SRC_FILES := hello-cmd.cpp
include $(BUILD_EXECUTABLE)
Android NDKで次のコードをビルドすると、移植可能になります。私がAndroidソース内でそれを構築するとき、そうではありません。
問題はリンカーの構成にあると思いますが、これをデバッグまたは修正する方法がわかりません。