我开发了一个Android项目,(它有一些资源文件,jni部分,还包含一些外部.so文件),我想在另一个Android应用程序中使用,
如果我将项目作为库项目我不能使用另一个项目中的资源文件,那么我将我的项目导出为jar,在包含所有后续文件夹的jar中
assets
bin
com/package containing all classes
libs/ all .so files
res
obj
META-INF
在我的另一个应用程序中,我将我的jar文件放在lib文件夹中并添加到项目路径
问题是,我无法从jar访问类和.so文件和资源。 而且我也尝试将所有so文件放在新项目的libs文件夹中。
我得到了不满意的链接错误,不可能这样做。或者你有什么想法吗?
NOTE: i don't want to add the project as Reference Project
答案 0 :(得分:2)
首先,所有Android项目都不能用作简单.jar
文件,因为您想要使用它的资源。
Only Way您必须将Android Project设为Android Library Project
才能使用资源和.so
文件。
<强>更新强>
查看http://developer.android.com/tools/projects/projects-eclipse.html和http://www.vogella.com/articles/AndroidLibraryProjects/article.html
答案 1 :(得分:1)
使用gradle构建项目时可以这样做
将您的Android项目引用到此aar库
将此aar文件设置为maven repo, 在项目gradle构建文件(PROJECT_ROOT / build.gradle)中添加这些代码
repositories {
mavenCentral()
flatDir {
dirs 'aars'
}
}
引用aar库,假设您的库源包是com.example.library,版本是1.0(您可以在您的库项目AndroidManifest文件中找到它)和android aar文件名是mylib.aar,然后在依赖项块
中添加这些代码compile 'com.example.library:mylib:1.0@aar'
gradle sync你的android项目,玩得开心。
答案 2 :(得分:0)
android应用程序使用.apk文件运行而不是.jar文件