gpt4 book ai didi

android - 将带有资源的库添加到 aosp 包中

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:17:42 27 4
gpt4 key购买 nike

我正在使用 AOSP,我想创建自己的库并在应用程序中使用它(来自 packages/app/)。我的图书馆只有一门课:

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);

}

}

它有自己的布局。这个库的 Android.mk 看起来像这样:

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)

没有编译错误。但是当我在 android 应用程序中使用我的库时它崩溃了:

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)

据我了解,Android 应用无法从我的库中找到布局。那么我该如何解决这个问题呢?

最佳答案

(YOURPROJECT) 右键单击​​ 然后选择Properties->Java Build Path-> Select tab Order and Export 然后您的添加库将处于未选中状态。检查 lib 是否干净并运行你的项目。

希望对你有帮助。

关于android - 将带有资源的库添加到 aosp 包中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22535358/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com