2016-12-19 5 views
0

Я немного нуб, когда дело доходит до разработки Android, и я привык к разработке собственных Windows в Visual Studio, и я хотел бы порт поверх тестового приложения на базе stdout с Windows на Android. У меня есть проект APK Java, который ссылается на проект Shared Object, который сам ссылается на другой общий объект. Этот вложенный объект разделяемой реферирование по-видимому, вызывает сбой, прежде чем я могу ввести любой из моего родного кода, например, так:Visual Studio 2015 Собственная ссылка на C++ вложенных общих объектов на 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 

Я ве реализована функция ANativeActivity_onCreate в моем родном разделе, как так:

void ANativeActivity_onCreate(ANativeActivity* activity, void* savedState, size_t savedStateSize) 
{ 
    printf("hello?"); 
} 

катастрофа происходит в Java до этого нативной функции можно ввести редактор Тем не менее, функция будет введена очень хорошо, если я удалю ссылку на зависимость в другом проекте общих объектов в рамках решения, но, конечно, проблема в том, что мне нужно использовать этот проект с общими объектами, если я его сделаю что-нибудь более полезное.

Я вообще не добавил Java-код в проект APK, поэтому это просто шаблон bare-bones от Visual Studio.

+0

Я настоятельно рекомендую вам сначала заняться этим в качестве приложения для Android, а затем работать с родным C в приложении Java, чем сначала создать приложение для Android. –

ответ

0

Рекомендуется сначала ознакомиться с Android, прежде чем пытаться создавать собственные приложения. По крайней мере, вы познакомитесь с SDK, фреймворками, состояниями Android, переходами и событиями жизненного цикла. Это также поможет вам отлаживать проблемы, если они находятся внутри SDK или внутри вашего собственного кода.

Выполнены ли какие-либо стандартные C#/C++/C на Java? Это лучшее место для начала, чем Android, если вы еще этого не сделали, по крайней мере, вы поймете, как выполняется собственный метод подключения и компоновки. Это то, с чем я не могу помочь, но я настоятельно рекомендую вам создать базовый Hello World с консольным протоколированием на Android. Потребуется несколько часов, чтобы ответить на множество вопросов.

Смежные вопросы