當我涉及到Android開發時,我很喜歡noob,並且我習慣於在Visual Studio中進行本機Windows開發,並且我想將端口通過基於stdout控制檯的測試應用程序從Windows到Android。我有一個Java APK項目引用了一個共享對象項目,該項目本身引用了另一個共享對象。此嵌套共享對象引用顯然會導致系統崩潰之前,我可以進入我的任何本地代碼,就像這樣:Visual Studio 2015 Android本地C++嵌套共享對象引用導致崩潰
拋出異常:java.lang.UnsatisfiedLinkError中
調用堆棧:
> android.app.NativeActivity.onCreate(android.os.Bundle savedInstanceState) Line 182 Java
android.app.Activity.performCreate(android.os.Bundle icicle) Line 6679 Java
android.app.Instrumentation.callActivityOnCreate(android.app.Activity activity, android.os.Bundle icicle) Line 1118 Java
android.app.ActivityThread.performLaunchActivity(android.app.ActivityThread$ActivityClientRecord r, android.content.Intent customIntent) Line 2618 Java
android.app.ActivityThread.handleLaunchActivity(android.app.ActivityThread$ActivityClientRecord r, android.content.Intent customIntent, java.lang.String reason) Line 2726 Java
android.app.ActivityThread.-wrap12(android.app.ActivityThread , android.app.ActivityThread$ActivityClientRecord r, android.content.Intent customIntent, java.lang.String reason) Java
android.app.ActivityThread$H.handleMessage(android.os.Message msg) Line 1477 Java
android.os.Handler.dispatchMessage(android.os.Message msg) Line 102 Java
android.os.Looper.loop Line 154 Java
android.app.ActivityThread.main(java.lang.String[] args) Line 6119 Java
java.lang.reflect.Method.invoke Java
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run() Line 886 Java
com.android.internal.os.ZygoteInit.main(java.lang.String[] argv) Line 776 Java
我VE實施ANativeActivity_onCreate功能在我的家鄉段像這樣:這種原生功能,可輸入之前在Java中發生
void ANativeActivity_onCreate(ANativeActivity* activity, void* savedState, size_t savedStateSize)
{
printf("hello?");
}
崩潰編輯。也就是說,如果我在解決方案中刪除其對其他共享對象項目的依賴項引用,該函數就會進入正常狀態,但是當然,問題是如果我需要使用此共享對象項目比這更有用的東西。
我沒有在APK項目中添加任何Java代碼,所以它只是Visual Studio中的一個簡單模板。
我強烈建議您首先將Android作爲Android應用程序解決,然後將本機C用於Java應用程序,而不是首次本機構建Android應用程序。 –