Я пытаюсь интегрировать SimpleIRExample как библиотеку в свой проект. Для целей публикации я написал минимальный пример, который вызывает ту же ошибку, что и в моем проекте.Вызов Wikitude SimpleIRExample из другого проекта
Родительский проект 'TestIR' должен быть таким (это MainActivity):
package com.example.testir;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import es.wul4.ar.WikitudeAR;
public class MainActivity extends Activity {
private Context context;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
context = this;
Button button1 = (Button) findViewById(R.id.button1);
button1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(context, WikitudeAR.class); // HERE IS THE CALL TO WIKITUDE SIMPLEIREXAMPLE
context.startActivity(intent);
}
});
}
}
Родитель проект имеет этот манифест:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.testir"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_GPS" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.testir.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="es.wul4.ar.WikitudeAR"
android:screenOrientation="landscape"
android:configChanges="screenSize|orientation">
</activity>
</application>
</manifest>
И здесь возникает проблема. Я добавить SimpleIRExample как библиотеки проекта в моем родительском проекте:
http://www.nacho-alvarez.es/descargas/simpleirexample_as_library.png
Вот ЛИЭС дерево SimpleIRExample:
.
├── armeabi
│ ├── libExtensionVuforia.so
│ └── libQCAR.so
├── armeabi-v7a
│ ├── libExtensionVuforia.so
│ └── libQCAR.so
├── javadoc.jar
├── QCAR.jar
└── wikitudesdk.jar
И раздел о SimpleIRExample манифеста:
<activity
android:name=".WikitudeAR"
android:label="@string/app_name"
android:screenOrientation="landscape"
android:configChanges="screenSize|orientation"
android:theme="@android:style/Theme.Light.NoTitleBar.Fullscreen">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
У нас нет синтаксиса или ошибок компиляции, поэтому запустите программу. Появляется простая кнопка в действии моего проекта testIR, и когда я ее подталкивал, я неоднократно повторял следующие ошибки:
D/dalvikvm (27351): Попытка загрузить lib/data/data/com .example.testir/libarchitect.so 0x421a9cb0 D/dalvikvm (27351): добавлен общий файл lib /data/data/com.example.testir/libarchitect.so 0x421a9cb0 A/libc (27351): фатальный сигнал 11 (SIGSEGV) при 0x00000010 (code = 1), thread 27351 (.example.testir)
Когда я создаю основное действие в не-библиотеке в автономном проекте и вызываю действие WikitudeAR, он работает правильно. Однако, если проект использует несколько библиотек, у меня такие же ошибки, как и выше (Fatal signal 11 SIGSEV). Мне интересно иметь SimpleIRExample как библиотеку или позвонить любым способом, потому что я написал контейнер приложений, который вызывает несколько библиотек или модулей, чтобы создавать отличное и разнообразное приложение.
У кого-нибудь есть идеи?
Заранее благодарен!