我有一个Android库项目,其中包含在styles.xml文件中定义的几个样式/主题.
通常,在其他xml布局或清单文件中引用此样式时,您只需编写 android:theme="@style/TheNameOfTheStyle"
使用库项目时,依赖项目如何正确引用该样式?只是把它留下来android:theme="@style/TheNameOfTheStyle"给我一个错误,说没有找到匹配该名称的资源.
我想同样的问题也适用于@string,@ color等其他参考文献.
谢谢
编辑:好的所以看起来你似乎正常引用它,但是eclipse中的控制台给了我这个错误:
错误:找不到与给定名称匹配的资源(在'theme'处,值为'@ style/ThemeName').
(facepalm)编辑
我只需要在Eclipse中"清理项目".现在它正在运作.
我最近下载了ViewPagerIndicator库并将其导入android studio.将它添加到我的项目后,我得到一个渲染错误"无法找到以下类:"并指向com.viewpagerindicator.IconPageIndicator.
我采取的步骤是Files->Import Module->'library name',Project Structure -> Dependencies -> + the imported module.然后到我的布局xml文件我添加了<com.viewpagerindicator.IconPageIndicator />,之后我得到了缺少的类问题.
它编译得很好,我浏览了所有build.gradle和settings.gradle文件,并将它们与在线应该进行比较.
MyApp->build.gradle具有compile project(':library')下dependencies
settings.gradle有include ':library'没有生成错误.
Android Studio 3.0的最新更新允许创建多种模块类型.其中一个新类型是"功能模块",但我找不到有关它的详细信息
现有的Android库模块和功能模块之间有什么区别?我为什么要使用后者?
我能看到的唯一区别是功能模块在清单中定义了一个应用程序.可以/应该将这些功能用作独立应用吗?在这种情况下,它们与实际的应用程序模块有什么不同?
假设我需要为应用程序项目和它所依赖的库项目应用相同的规则,我是否需要将proguard.cfg的内容从应用程序复制到库项目?
换句话说,应用程序的proguard.cfg是否"接管"它所依赖的所有库项目,还是我必须为每个库项目明确指定规则?
Unable to resolve superclass错误.我的错误日志:
Unable to resolve superclass of Lweb/service/RandomWordGeneratorService; (73)
Link of class 'Lweb/service/RandomWordGeneratorService;' failed
Could not find class 'web.service.RandomWordGeneratorService',
referenced from method tam.miru.Login$1.onClick
VFY: unable to resolve new-instance 110 Lweb/service/RandomWordGeneratorService;)
in Ltam/miru/Login$1;
VFY: replacing opcode 0x22 at 0x005a
VFY: dead code 0x005c-006e in Ltam/miru/Login$1;.onClick (Landroid/view/View;)
Run Code Online (Sandbox Code Playgroud) 我正在尝试遵循Retrofit的2 教程,但是在这部分代码中有一个GsonConverterFactory显示错误Cannot resolve symbol:
public class ServiceGenerator {
public static final String API_BASE_URL = "http://your.api-base.url";
private static OkHttpClient httpClient = new OkHttpClient();
private static Retrofit.Builder builder =
new Retrofit.Builder()
.baseUrl(API_BASE_URL)
//THIS IS THE LINE WITH ERROR!!!!!!!!!!!!
.addConverterFactory(GsonConverterFactory.create());
public static <S> S createService(Class<S> serviceClass) {
Retrofit retrofit = builder.client(httpClient).build();
return retrofit.create(serviceClass);
}
}
Run Code Online (Sandbox Code Playgroud)
之前我在gradle.build中添加了,我不确定是否应该添加GSON,因为他们说Retrofit 1.9有它但是没有提到Retrofit 2:
dependencies {
// Retrofit & OkHttp
compile 'com.squareup.retrofit:retrofit:2.0.0-beta2'
}
Run Code Online (Sandbox Code Playgroud) 我一直在尝试创建一个android库项目,虽然构建过程工作正常,但是在使用该库的项目中替换资源时遇到了一些麻烦.
在我的图书馆,我有:
一个library_layout.xml含有
<TextView
android:id ="@ + id/str_my_string"
android:layout_width ="wrap_content"
android:layout_text ="wrap_content"
>
一个调用的java文件
((的TextView)this.findViewById(R.id.str_my_string))的setText(R.string.my_string).
strings.xml包含的资源
<string name ="my_string">占位符</ string>
在使用我的库的项目中
strings.xml包含的资源
<string name ="my_string">实际字符串内容</ string>
我期望的行为是,当我使用库运行项目时,文本视图显示实际字符串内容,但它实际上包含false.
查看使用该库的应用程序,我确实看到两个R文件,它们都有,并且这两个文件R.string.my_string都等于相同的数值.
自从升级我当前的项目以使用Eclipse中的新R14工具以来,我现在无法调试我的库项目中存在的任何代码.
当我在我的库项目代码中找到一个断点时,而不是Eclipse打开原始源文件,它打开了JAR中包含的源文件的只读副本,并显示消息"Source not found".
我一直在寻找解决方案,但还没有遇到任何问题.有没有人有任何建议?无法调试是一件非常痛苦的事.
编辑
这个问题又回来了,我再也无法调试了.我没有改变任何项目设置或任何东西.很沮丧.
我现在面临一个非常奇怪的问题......
我有一个带有两个模块的Gradle应用程序,一个主模块和一个库模块.
这是第一个问题:即使minifyEnabled在库中为false,它也会被混淆.它完全没有效果,似乎取决于主模块的设置.我现在使用proguard一段时间了,我从来没有经历过这样的行为.
此外,库的proguard-rules.pro似乎完全被忽略了.我在那里声明的并不重要,它没有被使用,结果总是相同的(总是反编译为查看结果).它使用默认设置进行模糊处理.
我使用了一个无效的proguard文件名来查看该文件是否被触摸,并且确实存在错误名称的错误,并且它还抱怨了proguard文件中的语法错误...
我不知道它是否与Android Studio的更新有关,因为它还建议我使用"minifyEnabled"而不是"runProguard".
如何管理proguard以使用库的proguard-rules.pro?
编辑:
我做了一个示例项目来澄清我的问题

我的库的proguard配置

我的图书馆的gradle:

最后我得到的结果.我在proguard配置中排除/包含的内容并不重要

如您所见,proguard规则在主模块上运行良好.它做了应有的事情.但它总是完全混淆我的图书馆...
它还完全删除了图书馆的活动,这根本不应该发生
我在项目中引用我的android库模块时遇到问题.在主应用程序模块旁边,我使用了一个带有util东西或数据模块的android库模块.我在app模块中引用它是这样的:
dependencies {
implementation project(":data")
}
Run Code Online (Sandbox Code Playgroud)
当我构建项目时,它为我'Unresolved reference: ...'在app模块中引用到android库模块的所有内容提供了很多错误消息.但IDE本身没有问题,Intelligent发现所有类,接口等,导入很好,没有什么是红色的.android库模块本身aar-file在输出中构建和创建.这compileDebugKotlin是失败的任务
可能与此相关的一般概念是什么?
android android-library kotlin android-studio android-gradle-plugin