2013-06-14 4 views
0

Я пытаюсь интегрировать 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 как библиотеку или позвонить любым способом, потому что я написал контейнер приложений, который вызывает несколько библиотек или модулей, чтобы создавать отличное и разнообразное приложение.

У кого-нибудь есть идеи?

Заранее благодарен!

ответ

0

Решено установить новую версию SDK версии 3.0, запущенную вчера (06/18/13). Теперь отлично работает как библиотека в Nexus 4 с Android 4.2.2, внося некоторые изменения в очень хорошие примеры, доступные этой версии.

http://developer.wikitude.com/download