标签: android-library

使用Android库项目时,如何正确引用xml资源?

我有一个Android库项目,其中包含在styles.xml文件中定义的几个样式/主题.

通常,在其他xml布局或清单文件中引用此样式时,您只需编写 android:theme="@style/TheNameOfTheStyle"

使用库项目时,依赖项目如何正确引用该样式?只是把它留下来android:theme="@style/TheNameOfTheStyle"给我一个错误,说没有找到匹配该名称的资源.

我想同样的问题也适用于@string,@ color等其他参考文献.

谢谢

编辑:好的所以看起来你似乎正常引用它,但是eclipse中的控制台给了我这个错误:

错误:找不到与给定名称匹配的资源(在'theme'处,值为'@ style/ThemeName').

(facepalm)编辑

我只需要在Eclipse中"清理项目".现在它正在运作.

xml android android-library

34
推荐指数
1
解决办法
1万
查看次数

Android Studio中的导入模块无法找到导入的类

我最近下载了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.gradleinclude ':library'没有生成错误.

android android-library android-studio

34
推荐指数
5
解决办法
4万
查看次数

Android库模块与功能模块

Android Studio 3.0的最新更新允许创建多种模块类型.其中一个新类型是"功能模块",但我找不到有关它的详细信息

现有的Android库模块和功能模块之间有什么区别?我为什么要使用后者?

我能看到的唯一区别是功能模块在清单中定义了一个应用程序.可以/应该将这些功能用作独立应用吗?在这种情况下,它们与实际的应用程序模块有什么不同?

android module android-library android-studio

34
推荐指数
2
解决办法
7608
查看次数

图书馆项目需要proguard.cfg吗?

假设我需要为应用程序项目和它所依赖的库项目应用相同的规则,我是否需要将proguard.cfg的内容从应用程序复制到库项目?

换句话说,应用程序的proguard.cfg是否"接管"它所依赖的所有库项目,还是我必须为每个库项目明确指定规则?

android proguard android-library

33
推荐指数
1
解决办法
8368
查看次数

引用.jar库时无法解决超类错误

  1. 我做了一个Android项目并运行它.它运行成功.
  2. 我用Java开发了一个Web服务并托管它.它运行成功.
  3. 我将web服务导出到.jar并将其添加到我的Android项目中.
  4. 当我尝试在Web服务中调用方法时,我收到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)

android classnotfoundexception android-library

31
推荐指数
2
解决办法
4万
查看次数

Retrofit 2示例教程但GsonConverterFactory显示错误"无法解析符号"

我正在尝试遵循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 gson android-library retrofit okhttp

31
推荐指数
3
解决办法
3万
查看次数

在Android库项目中替换(或"覆盖")字符串

我一直在尝试创建一个android库项目,虽然构建过程工作正常,但是在使用该库的项目中替换资源时遇到了一些麻烦.

在我的图书馆,我有:

  1. 一个library_layout.xml含有

    <TextView
    android:id ="@ + id/str_my_string"
    android:layout_width ="wrap_content"
    android:layout_text ="wrap_content"
    >

  2. 一个调用的java文件

    ((的TextView)this.findViewById(R.id.str_my_string))的setText(R.string.my_string).

  3. strings.xml包含的资源

    <string name ="my_string">占位符</ string>

在使用我的库的项目中

  1. strings.xml包含的资源

    <string name ="my_string">实际字符串内容</ string>

我期望的行为是,当我使用库运行项目时,文本视图显示实际字符串内容,但它实际上包含false.

查看使用该库的应用程序,我确实看到两个R文件,它们都有,并且这两个文件R.string.my_string都等于相同的数值.

android android-layout eclipse-adt android-library

29
推荐指数
1
解决办法
2万
查看次数

无法使用ADT v14调试库项目 - 找不到源

自从升级我当前的项目以使用Eclipse中的新R14工具以来,我现在无法调试我的库项目中存在的任何代码.

当我在我的库项目代码中找到一个断点时,而不是Eclipse打开原始源文件,它打开了JAR中包含的源文件的只读副本,并显示消息"Source not found".

我一直在寻找解决方案,但还没有遇到任何问题.有没有人有任何建议?无法调试是一件非常痛苦的事.

编辑

这个问题又回来了,我再也无法调试了.我没有改变任何项目设置或任何东西.很沮丧.

eclipse android adt android-library

29
推荐指数
2
解决办法
6245
查看次数

Proguard忽略了库的配置文件

我现在面临一个非常奇怪的问题......

我有一个带有两个模块的Gradle应用程序,一个主模块和一个库模块.

  • 在这两个模块中,我已经声明了一个正确的proguard-rules.pro文件路径
  • 在两个.gradle文件中,我有minifyEnabled为true

这是第一个问题:即使minifyEnabled在库中为false,它也会被混淆.它完全没有效果,似乎取决于主模块的设置.我现在使用proguard一段时间了,我从来没有经历过这样的行为.

此外,库的proguard-rules.pro似乎完全被忽略了.我在那里声明的并不重要,它没有被使用,结果总是相同的(总是反编译为查看结果).它使用默认设置进行模糊处理.

我使用了一个无效的proguard文件名来查看该文件是否被触摸,并且确实存在错误名称的错误,并且它还抱怨了proguard文件中的语法错误...

我不知道它是否与Android Studio的更新有关,因为它还建议我使用"minifyEnabled"而不是"runProguard".

如何管理proguard以使用库的proguard-rules.pro?

编辑:

我做了一个示例项目来澄清我的问题

在此输入图像描述

我的库的proguard配置

在此输入图像描述

我的图书馆的gradle:

在此输入图像描述

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

在此输入图像描述

如您所见,proguard规则在主模块上运行良好.它做了应有的事情.但它总是完全混淆我的图书馆...

它还完全删除了图书馆的活动,这根本不应该发生

android module proguard android-library android-studio

29
推荐指数
3
解决办法
2万
查看次数

app模块中引用的android库模块的"未解析的引用"错误

我在项目中引用我的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

25
推荐指数
4
解决办法
9174
查看次数