2014-03-20 4 views
7

Ich arbeite mit AOSP und ich möchte meine eigene Bibliothek erstellen und in der App (aus Paketen/app /) verwenden. Meine Bibliothek hat nur eine Klasse:Hinzufügen von Bibliothek mit Ressourcen zu AOsp-Paket

import android.app.Fragment; 
import android.os.Bundle; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 

public class MyFragment extends Fragment { 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
      Bundle savedInstanceState) { 
     return inflater.inflate(R.layout.my_fragment, container, false); 

    } 

} 

Es hat ein eigenes Layout. Android.mk für diese lib sieht ungefähr so ​​aus:

LOCAL_PATH:= $(call my-dir) 
include $(CLEAR_VARS) 

LOCAL_MODULE := my.own.package 
LOCAL_NO_MANIFEST := true 

LOCAL_SRC_FILES := $(call all-java-files-under, src) 

LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res 

include $(BUILD_STATIC_JAVA_LIBRARY) 

Es sind keine Kompilierungsfehler. Aber wenn ich meine lib in Android-Anwendung verwenden stürzt:

E/AndroidRuntime(1030): FATAL EXCEPTION: main 
E/AndroidRuntime(1030): java.lang.NoClassDefFoundError: my.own.package.R$layout 
E/AndroidRuntime(1030): at my.own.package.MyFragment.onCreateView(MyFragment.java:17) 
E/AndroidRuntime(1030): at android.app.Fragment.performCreateView(Fragment.java:1695) 
E/AndroidRuntime(1030): at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:885) 
E/AndroidRuntime(1030): at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1057) 
E/AndroidRuntime(1030): at android.app.BackStackRecord.run(BackStackRecord.java:682) 
E/AndroidRuntime(1030): at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1435) 
E/AndroidRuntime(1030): at android.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:474) 

Wie ich verstehe, android app nicht das Layout von meinem lib finden kann. Wie kann ich dieses Problem lösen?

Antwort

-1

(IhrProjekt) rechts klicken und wählen Sie dann Eigenschaften-> Java Build-Weg-> Wählen Sie die Registerkarte Auftrag und Export dann Add lib in nicht kontrollierten Zustand sein wird. Überprüfen Sie, ob das Projekt sauber ist und Ihr Projekt ausgeführt wird.

Ich hoffe, dies hilft Ihnen.