1

別のAndroidアプリケーションで使用したい1つのAndroidプロジェクト(いくつかのリソースファイルとjni部分があり、外部の.soファイルも含まれています)を開発しました。

プロジェクトをライブラリプロジェクトとして作成した場合、別のプロジェクトのリソースファイルを使用できないため、プロジェクトを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
4

3 に答える 3

2

まず第一に、Androidプロジェクトは.jar、そこからリソースを使用したいので、単純なファイルとしては機能しません。

唯一の方法あなたはそれからAndroid Library Projectリソースと.soファイルを使用するためにAndroidプロジェクトを作成する必要があります。

アップデート:

http://developer.android.com/tools/projects/projects-eclipse.htmlおよびhttp://www.vogella.com/articles/AndroidLibraryProjects/article.htmlをご覧ください

于 2013-01-10T06:11:44.603 に答える
0

.jarファイルではなく.apkファイルで実行されるAndroidアプリケーション

于 2013-01-10T06:15:03.767 に答える
0

これは、gradleを使用してプロジェクトをビルドするときに実行できます

  1. androidaarファイルを生成します

    • ライブラリプロジェクトをEclipseからAndroidStudioにエクスポートします。これを見たいと思うかもしれません
    • gradleを使用してAndroidライブラリをビルドし、PROJECT_ROOT / build /libs/フォルダーでライブラリaarファイルを見つけます
  2. あなたのAndroidプロジェクトをこのaarライブラリに参照してください

    • aarファイルをプロジェクトにドラッグします。たとえばPROJECT_ROOT/aars/フォルダーにドラッグします。
    • このaarファイルをMavenリポジトリとして設定し、これらのコードをプロジェクトの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'
      
  3. あなたのAndroidプロジェクトをgradle同期して楽しんでください。

于 2014-05-21T13:24:27.900 に答える