我有cmake的问题.我有,比方说,CMakeLists1有一个CMakeLists2所在的子目录.
在CMakeLists2中,我的目标是一个静态库.我想将它链接到外部库.我就这样做了:
link_directories ("path_to_library")
add_library (project2 ${sources})
target_link_libraries (project2 "name_of_external_lib")
Run Code Online (Sandbox Code Playgroud)
然后,我想在我的project1中使用这个project2中的一个类.我是这样做的:
add_executable (project1 ${sources})
target_link_libraries (project1 project2)
Run Code Online (Sandbox Code Playgroud)
但这根本不起作用.首先,project2没有链接到外部库.只是为了检查,我通过vs10项目属性添加了这个库,并且大小不同.第二件事,不知何故,project1看到了外部库(它在这个项目的库依赖项中),当然找不到它.
问题是什么?
我正在与AOSP合作,我想创建自己的库并在app中使用它(来自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);
}
}
Run Code Online (Sandbox Code Playgroud)
它有自己的布局.这个lib的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)
Run Code Online (Sandbox Code Playgroud)
没有编译错误.但是当我在Android应用程序中使用我的lib时它会崩溃:
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): …Run Code Online (Sandbox Code Playgroud) 我想添加一个新的联系人ContactsContract.Intents.Insert.但问题是我不知道有多少电话号码.当我明白我可以使用只传递三个电话号码PHONE,SECONDARY_PHONE,TERTIARY_PHONE常量.有没有办法传递三个以上的数字?
我有我的应用程序和第三方应用程序。我需要知道第三方应用程序的窗口已经最大化。有什么办法可以知道吗?
起初,我认为我可以使用自己的回调函数来处理该窗口的事件。
SetWindowLong(hwnd, GWL_WNDPROC, (LONG)WindowProc);
Run Code Online (Sandbox Code Playgroud)
但此功能失败并出现错误“访问被拒绝”。这是有原因的。更改窗口中不属于您的内容并不是很明智。
所以我该怎么做?