2016-11-08 1 views
4

EclipseからAndroid Studioにインポートしたプロジェクトがあります。 Eclipseではすべてがうまくいった。ライブラリモジュールのパッケージがメインモジュールに見つかりません

ライブラリモジュール(Eclipseのライブラリプロジェクト)のパッケージを使用するメインモジュール(Eclipseのプロジェクト)が含まれています。移行がうまくいかなかったので、ライブラリモジュールを手動で作成し、すべてのソースコードを新しく作成したモジュールにコピーしました。

問題は、メインモジュールがライブラリモジュールからパッケージを見つけられないように見えることです。プロジェクトを再構築すると、「パッケージbla blaが存在しません」というエラーが表示されます。ここで

は、メインモジュールgradle.buildです:

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 25 
    buildToolsVersion "25.0.0" 

    defaultConfig { 
     applicationId "com.pointer.mamagoose" 
     minSdkVersion 9 
     targetSdkVersion 21 
    } 

    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' 
     } 
    } 
} 

dependencies { 
    compile project(':linphoneclean') 
    compile 'com.android.support:support-v4:25.0.0' 
    compile 'com.android.support:appcompat-v7:25.0.0' 
    compile 'com.google.android.gms:play-services:9.4.0' 
    compile files('libs/firebase-client-android-2.5.0.jar') 
    compile files('libs/apache-httpcomponents-httpclient.jar') 
    compile files('libs/apache-httpcomponents-httpcore.jar') 
    compile files('libs/android-support-v7-recyclerview.jar') 
} 

linphonecleanは、ライブラリモジュールです。

プロジェクト全体のsettings.gradle:

include ':linphoneclean' 
include ':tigris' 

これは、ライブラリモジュールのbuild.gradleです:

apply plugin: 'com.android.library' 

android { 
    compileSdkVersion 25 
    buildToolsVersion "25.0.0" 

    defaultConfig { 
     minSdkVersion 9 
     targetSdkVersion 25 
     versionCode 1 
     versionName "1.0" 

     testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 

    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
} 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { 
     exclude group: 'com.android.support', module: 'support-annotations' 
    }) 
    compile 'com.android.support:appcompat-v7:25.0.0' 
    testCompile 'junit:junit:4.12' 
    compile 'com.google.code.gson:gson:2.6.2' 
    compile files('libs/commons-lang3-3.4.jar') 
    compile files('libs/linphone.jar') 
    compile files('libs/firebase-client-android-2.5.0.jar') 
} 

ライブラリモジュールの構造は、例えば、フォルダのために含まれています: のsrc/main/com/pointer/linphone(そして内部にはすべてのJavaファイルがあり、減速度はpackage com.pointer.linphoneですが、 "com.pointer.linphoneパッケージは存在しません"というエラーが表示されます)

私は間違って何をしていますか?

+0

:ライブラリのAndroidManifestが正しくパッケージを定義している場合 – Vilen

+0

根本的な原因を見つけたことはありますか?私は同様の問題を抱えています:(。 – Apo

+0

申し訳ありませんが、いいえ..この場合は、私はちょうどメインプロジェクトに追加されたので、十分な小さなライブラリを持っていました。 –

答えて

0

は私のために働いていたものです。

私はブランクアクティビティで新規プロジェクトを作成し、ダミークラスを含むライブラリモジュールを追加して依存関係を定義しました。アプリ内にダミークラスをインポートすることで動作することを確認しました。その後、私は実際のプロジェクトからすべての関連コードをコピーしました。

私の考えは、IDEのimlファイルではおそらく問題だったと思うのです。私はあなたがlinphonecleanとチグリス川のためのあなたのモジュールのプロジェクトへのパスを指定しなかった見る限り

<manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" 
      package="com.pointer.linphone"> 
+0

私は質問をして以来、この時間が過ぎても今はテストしませんが、論理的に思われる唯一の答えから、私はそれを受け入れます。 –

0

適切なソースファイルにjavaフォルダとresフォルダの両方が含まれているかを確認し、Javaパッケージにjavaファイルを追加し、resフォルダにresを追加します。マニフェストファイルのアクティビティ名はこちらを参照してください。Gradleファイルに必要なライブラリファイルを追加してください。 Androidスタジオでここでの時間のために同じ問題と戦った後

https://developer.android.com/guide/topics/manifest/manifest-element.html

+0

私はあなたの答えに何かを逃したかもしれませんjavaファイルはsrcフォルダとresフォルダのリソースにあります。 –

0

はたぶん、あなたは次のように、確認することができます。あなたが私の答えから見ることができるように、この質問を見るために質問しましたsettings.gradleには、最初にモジュールへの第2のパス "incluse ..."という2つのものが含まれています。例: ':facebook' project( ':facebook')。projectDir =新しいファイル(settingsDir、 '../dependencies/FacebookSDK')
関連する問題