在主应用程序项目中使用库中的活动

问题描述:

我正在开发一个Android项目,其中有一个活动的库项目。在主应用程序项目中使用库中的活动

我有一个主要的应用程序项目,它引用库项目并尝试启动库项目中的活动。在库项目,我有以下活动:

public class DirectoryPicker extends Activity 
{ 

    GridView gridView = null; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.directory_picker); 

     gridView = (GridView)findViewById(R.id.directory_picker_gridview); 

     DirectoryAdapter.directories.add("String1"); 
     DirectoryAdapter.directories.add("String2"); 
     DirectoryAdapter.directories.add("String3"); 
     DirectoryAdapter.directories.add("String4"); 

     gridView.setAdapter(new DirectoryAdapter()); 
    } 
} 

我想用我的主要应用程序项目下面的启动活动。

protected OnPreferenceClickListener mPrefDefaultBackupClickListener = new OnPreferenceClickListener() 
     { 
      @Override 
      public boolean onPreferenceClick(Preference preference) 
      { 
       Intent intent = new Intent(getActivity(), DirectoryPicker.class); 
       startActivity(intent); 
       return false; 
      } 
     }; 

在我的主要应用程序项目AndroidManifest文件我已经添加了以下内容:

<activity android:name="com.MyCompany.Library.DirectoryPicker"> 

     </activity> 

当我尝试和开始练习,我得到以下异常:

java.lang.NoClassDefFoundError: com.MyCompany.Library.DirectoryPicker 

我可以没有看到它没有任何理由。

感谢您的帮助。

+0

你是如何添加图书馆的? – zgc7009 2014-09-29 21:06:23

+0

它是构建gradle文件的参考。图书馆本身正在正常工作,只是没有的活动 – Boardy 2014-09-29 21:08:08

我终于找到了问题。没有设法找到任何文档,只是试验和错误,发现如果我去文件>项目结构>依赖,然后选择我的库,并将范围从编译到提供和清理和重建所有活动然后正确启动。