我设法很好地重构了我的应用程序,因此,除了派生的Activity类中的一些方法之外,所有内容都在库项目中.
它工作得很漂亮,除了Eclipse的控制台(不是 LogCat!)发出以下错误消息:
[2011-06-13 19:54:08 - MyLibrary] Could not find MyLibrary.apk!
Run Code Online (Sandbox Code Playgroud)
我清理了两个项目(库和应用程序),重新启动了Eclipse,重新构建了项目,但是这个奇怪的错误消息仍然存在.
这个错误信息是什么意思?(特别是在一切似乎都运行良好的情况下)
我怎么摆脱它?
更新:我尝试删除项目,然后根据下面的建议重新导入它.它没有帮助.然后我发现这个线程帮助我意识到我<uses-library>
在应用程序的AndroidManifest.xml中引用了MyLibrary.我删除了它,清理了项目并重建了.问题依然存在.
我现在怀疑这是"真正的问题",例如我对某些路径或其他东西的配置错误.会是什么呢?
这就是我真正想要的:一个网站收集Android的可重用组件.
我找到了各种小 名单,最大的是Open Intents库列表.Mark Murphy(hi,Mark)还列出了他出版的图书馆项目.
这些与Cocoa Controls或Cocoa Objects的顺序不同.
你去哪里为Android购买可重用的库?
编辑:这不仅仅是关于图书馆项目,尽管这是理想的.另一方面:我在哪里发布我的开源库项目,除了"Github"之外.
android open-source android-widget android-ui library-project
在属于Library项目的类中,我调用:
webview.loadUrl("file:///android_asset/info.html", null);
Run Code Online (Sandbox Code Playgroud)
不幸的是,这只有在我将文件info.html 复制到Application的项目资产文件夹中时才有效.
有没有办法告诉Android库代码:"在库的资源文件夹中查找此文件,而不是在应用程序的资源文件夹中"?
我有一个图书馆项目和一个应用程序.我想为图书馆和应用程序提供2种产品口味(商店,开发).当我为应用程序构建商店风味时,我想使用库中的商店风味.此外,当我为应用程序构建dev风格时,我想使用库中的dev风格.我尝试为库和应用程序设置相同的产品风格,但它不起作用.
这是我的配置:
图书馆
apply plugin: 'android-library'
android {
compileSdkVersion 19
buildToolsVersion "19.1.0"
defaultConfig {
applicationId "ro.amarkovits.graddletest.lib"
minSdkVersion 14
targetSdkVersion 19
versionCode 1
versionName "1.0"
}
buildTypes {
release {
runProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
productFlavors{
store{
}
dev{
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
}
Run Code Online (Sandbox Code Playgroud)
我有这些文件:src/main/res/values/strings.xml和src/store/res/values/strings.xml
应用
apply plugin: 'android'
android {
compileSdkVersion 19
buildToolsVersion '19.1.0'
defaultConfig {
applicationId 'ro.amarkovits.mymodule.app'
minSdkVersion 14 …
Run Code Online (Sandbox Code Playgroud) 嗨,我一直在尝试将此库项目添加到Android studio中的现有项目中.这是我第一次使用图书馆项目而且我很难过.从周围的教程和帖子中寻找可能的方法,但无法完成它.
我希望我无法得到这个我所参与的这个美好社区的帮助.
我正在尝试使用Gradle配置一个包含一些外部库的项目.使用Gradle我可以使用Build Variants为主应用程序设置不同的环境配置(在配置文件中有一个类),这样我就可以根据这些变量执行代码.
问题是我如何为图书馆项目做同样的事情?我为这个项目创建了这个库,我想为不同的场景设置不同的Build Variants.
例如:在库中,当在调试模式下运行时,然后打印所有日志,以便我可以在开发时看到它们.在发布模式下不要.
文件结构:
src ----- > debug -> java -> config -> PlayerEnvConfig
main -> com.mypackagename -> etc...
release -> java -> config -> PlayerEnvConfig
Run Code Online (Sandbox Code Playgroud)
debug中的代码:package config;
/**
* Environment configuration for Release
*/
public final class PlayerEnvConfig {
public static final boolean USE_REPORTING = true;
public static final boolean USE_ANALYTICS = true;
public static final boolean USE_LOGGING = false;
public static final boolean USE_DEBUG_LOGGING = false;
public static final boolean USE_DEBUGING = false;
}
Run Code Online (Sandbox Code Playgroud)
发布代码:
package …
Run Code Online (Sandbox Code Playgroud) 我有一个Android库项目一直很适合我,但现在我有兴趣将它"转换"为外部JAR.
我怎么做?
任何Android库项目都可以转换为外部JAR吗?如果没有,有什么限制或限制?
我有一个Android库,MyLib
其中包含我的应用所需的一切(针对Android 2.2).该库具有XML资源:
drawable/main_background.xml
Run Code Online (Sandbox Code Playgroud)
在我的应用程序MyApp
项目中我引用MyLib
.在这里,我想覆盖特定的资源(即品牌).所以我添加了一个背景图片MyApp
:
drawable/main_background.png
Run Code Online (Sandbox Code Playgroud)
Eclipse不断给我这个错误:
[com.mycom.mylib.myapp] res\drawable\main_background.xml:0: error: Resource entry main_background is already defined.
[com.mycom.mylib.myapp] res\drawable\main_background.png:0: Originally defined here.
Run Code Online (Sandbox Code Playgroud)
如何覆盖库项目中的资源?
我已经将一个模块导入到我的项目中.当我重建项目时,AS给了我一个错误说警告:Dependency Lib:未指定项目应用程序解析为APK归档,不支持作为编译依赖项.我搜索并更改了apply plugin:'com.android.application'
to apply plugin: 'com.android.library'
并从defaultConfig中删除了ApplicationId.然而我得到同样的错误"Warning:Dependency Lib:unspecified on project app resolves to an APK archive which is not supported as a compilation dependency."
任何人都可以帮助我吗?
这是我的gradle代码:
apply plugin: 'com.android.library'
android {
compileSdkVersion 23
buildToolsVersion "23.0.1"
defaultConfig {
minSdkVersion 12
targetSdkVersion 23
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.1.0'
compile 'com.android.support:design:23.1.0'
compile project(':DimenLib')
}
Run Code Online (Sandbox Code Playgroud) android ×10
library-project ×10
gradle ×3
aar ×1
android-ui ×1
apk ×1
build.gradle ×1
eclipse ×1
eclipse-adt ×1
jar ×1
java ×1
open-source ×1
resources ×1