我想在android库项目中使用phonegap.库项目编译得很好但是当我尝试启动扩展DroidGap的活动时,我收到此错误
01-02 10:12:17.575: W/dalvikvm(316): Unable to resolve superclass of Lcom/***/***.
Run Code Online (Sandbox Code Playgroud)
我想这是因为phonegap.jar文件不包含在android库项目的编译jar文件中.我曾尝试使用ant来构建但它似乎不起作用.
编辑:我正在构建一个可以在其他Android项目中使用的android库.我正在使用标准的android库项目,但是这个lib项目中的活动扩展了phonegap.jar中的DroidGap类,但是出现了上述错误.
我正在使用Eclipse 4.2.2与Android SDK 22.0.1构建一个使用Facebook和Google Play Services lib的Android应用程序.但是我遇到了一个问题:每次我都包含一个或两个库时,aapt详细模式崩溃就像这样(我认为这也会因详细模式关闭而崩溃,因为R.java文件不是在我的项目):
[2013-06-21 01:33:40 - Project] (new resource id com_facebook_placepickerfragment_list_row from /Users/Solens/workspace/FacebookSDK/res/layout/com_facebook_placepickerfragment_list_row.xml)
[2013-06-21 01:33:41 - Project] (new resource id com_facebook_us
[2013-06-21 01:33:41 - Project] 'aapt' error. Pre Compiler Build aborted.
Run Code Online (Sandbox Code Playgroud)
如果我不包含库,则项目正确编译.我已经尝试了几个解决方案,比如清理 - >构建项目,尝试更新sdk工具(但我正在使用最新版本),但是其中任何一个都有效.我甚至尝试将操作系统切换到Windows 7(我使用Mountain Lion)并出现同样的问题.
有趣的是我有两个图书馆添加的另一个项目,唯一的区别是,到目前为止,其他项目的资源少于我的崩溃项目.
两周后我一直坚持这个问题,但仍未找到解决方案.
提前致谢.
PS:相关问题 - > 生成资源ID时的aapt erros
嗨我有一个Android库项目,它生成一个AAR.
一切都很好但是当我在另一个项目中使用AAR时,我收到此错误:
java.lang.NoClassDefFoundError: com.squareup.picasso.Picasso
Run Code Online (Sandbox Code Playgroud)
AAR使用毕加索,是否可以在生成AAR时导出AAR的依赖关系?
谁能告诉我一个很好的方法从Android库项目到使用这个库的应用程序进行通信?
一点描述:我的库收到GCM通知,并使用此库将其中一些转发到应用程序.现在我通过库发送的Intents和在App中监听该意图的BroadcastReceiver实现了这一点.
问题:当我使用我的应用程序安装2个应用程序时,都会收到彼此通知.有人有想法吗?
提前致谢!
[编辑]
这是一些代码.我在库中收到GCM通知并将其转发到正在使用的应用程序:
GCMIntentService:
@Override
protected void onHandleIntent(Intent intent) {
...
String notificationString = intent
.getStringExtra(GCMConstants.NOTIFICATION);
Intent broadIntent = new Intent(getResources().getString(
R.string.con_broadcast_gcm_notification));
broadIntent.putExtra("callback", notification.getCallback());
context.sendBroadcast(broadIntent);
...
}
Run Code Online (Sandbox Code Playgroud)
我的BroadcastReceiver侦听con_broadcast_gcm_notification.它通过Intent-Filter在清单中注册.
的manifest.xml
...
<receiver android:name=".MyBroadcastReceiver" >
<intent-filter>
<action android:name="de.tuberlin.snet.gcm.notification" />
</intent-filter>
</receiver>
...
Run Code Online (Sandbox Code Playgroud) 如果我有一个链接了许多库项目的项目,是否可以通过将每个项目打包在 AAR 中并将其包含在主项目中来提高构建性能?或者这不会有任何区别,因为当编译器需要组装 apk 时,它无论如何都需要将所有内容打包在一起?
感谢任何人谁会给我一些关于两种方法之间的性能差异的澄清
我创建了库项目并使用了一些依赖项。然后我构建“aar”文件并将其作为新模块导入到新项目中。问题是aar项目的依赖项没有导入到新项目环境中?你有什么主意吗?



作为我项目的一部分,我有一个完美工作的小部件.然后我决定将公共代码(包括小部件)提取到库项目中.完成此操作后,除了小部件外,一切正常 它出现在可用于添加的小部件列表中,但是当我将它放在桌面上时,我得到的是这个Toast消息:"应用程序未安装在您的手机上".有人能说清楚这个吗?
配置和代码都没有改变.小部件文件(项目和库)中存在小部件定义,项目元文件包含绝对(包括路径)名称和所有权限.
好,
所以我正在制作一个UI元素的库项目.该库有一些基于ActionBarSherlock的活动,它是android中操作栏的向后兼容库.在这些活动中,我想在操作栏中有一个按钮,无论用户在图书馆项目中使用哪种活动,都会将其带回家.
一些术语."库"指的是我正在研究的Android UI库项目."应用程序"是指开发人员可能在使用库时使用的任何客户.
通常,当你进行一项活动而你想打电话给另一项活动时,你会做这样的事情.
intent = new Intent(this, WhateverMyActivityName.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
很简单.但这是棘手的一点.Android库几乎不知道什么应用程序正在使用它们.所以'WhateverMyActivityName.class'是无用的,因为没有办法预测开发人员应用程序将调用他们的活动.
我需要更换
intent = new Intent(this, WhateverMyActivityName.class);
Run Code Online (Sandbox Code Playgroud)
有这样的东西
intent = new Intent(this, getApplication().MainActivity().getClass());
Run Code Online (Sandbox Code Playgroud)
或者可能使用某种意图动作来调用应用程序中的主Activity (Intent.ACTION_MAIN or Intent.CATEGORY_LAUNCHER)
简而言之:如何从库项目中获取应用程序主要活动?
android android-intent android-library library-project android-activity
我需要将库项目作为模块导入现有项目.
请注意!
有这样的问题的答案,
关于旧版Android-Studio的所有答案.
在旧版本中,您可以按照以下步骤操作:
但是在这个版本中,当您尝试导入Eclipse项目时,
android工作室无论如何都将它转换为gradle项目.
然后就像你在Android-Studio中打开一个新项目一样,
您没有菜单中的文件 - >导入模块.
我需要使用 Server.MapPath。由于库项目没有 Startup.cs,我无法应用正常的方式。