如何在jar文件中导入android.graphics.Bitmap

时间:2017-05-09 13:03:53

标签: java android jar aar

我知道Jar和AAR之间的主要区别在于AAR包含布局,drawable等资源。我想创建一个包含Bitmap类的Jar文件。这可能与否?

import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.widget.ImageView;

当我在Jar文件Android Studio中的类中导入andorid.graphics.Bitmap时 显示错误:无法解析符号'Bitmap','BitmapFactory''Context'和.. enter image description here

我按照以下步骤构建Jar文件:

档案>新>新模块> java库

我知道如何使用该库,我知道AAR中提供了类似Bitmap的andorid api类(也在AAR文件中可用资源文件中) 我的问题是在JAR文件中使用android api类。

1 个答案:

答案 0 :(得分:0)

您可以使用自己的类创建.jar,可以使用Bitmap或任何Android API类。

这是一个文件BitmapHelper.java

package com.its.test;

import android.graphics.Bitmap;
import android.graphics.BitmapFactory;

public class BitmapHelper {

    public static void getBitmap(String fileName){
        Bitmap bitmap= BitmapFactory.decodeFile(fileName);
    }
}

Jar文件只是一个包含.class个文件的zip文件,因此BitmapHelper.class文件位于.jar

当我们需要使用.jar时,只需将其添加到构建路径中,以便进行编译。

或者在gradle项目中将.jar放在libs文件夹中并以这种方式编译

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
}

如果您在本地/远程maven repo或其他任何部署中部署了.jar,则可以使用该工件的group nameartifactversion进行编译。

  

Jar和AAR之间的主要区别在于AAR包括   布局,绘图等资源。这使得它更容易   创建自包含的可视组件。例如,如果你有   使用相同登录屏幕的多个应用程序,您可以使用Jars   分享课程,但不是布局,风格等,你仍然必须   复制它们。使用AAR,一切都捆绑在一个整洁的包装中。

修改

Java库与.jar不同,库是jar的集合。您可以轻松地将.jars集成到android项目中,但是如果您想要添加Java库,则需要在纯Java库和android之间定义绑定。

您可以查看此答案。

https://stackoverflow.com/a/42099343/3445320