проект (библиотека) Eclipse зависимостей, получающий неверное имя пакета в действии - PullRequest
0 голосов
/ 31 октября 2019

У меня есть основной проект A, другой проект с именем B, который является библиотекой и на который ссылается проект A.

AndroidManifest.xml для проекта A:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.test.a"
          android:versionCode="99"
          android:versionName="9.9"
          android:installLocation="auto">

    <uses-sdk android:minSdkVersion="11" android:targetSdkVersion="26"/>
    <uses-feature android:glEsVersion="0x00020000" />

    <application android:label="@string/app_name"
                 android:icon="@drawable/icon"
                 android:allowBackup="true"
                 android:name="com.yshy.fish.Application">

         <activity 
                  android:name="com.test.a.AppActivity"
                  android:label="@string/app_name"
                  android:screenOrientation="sensorLandscape"
                  android:launchMode="singleTask"
                  android:configChanges="keyboardHidden|orientation|screenSize">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <activity
            android:name="com.test.b.BActivity"
            android:configChanges="orientation|navigation|keyboardHidden|screenSize|keyboard|screenLayout"
            android:screenOrientation="sensorLandscape"
            android:theme="@android:style/Theme.Translucent"/>
    </application>
</manifest> 

И AndroidManifest.xmlдля проекта B:

 <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
                    xmlns:tools="http://schemas.Android.com/"
                    package="com.test.b">

        <uses-sdk android:minSdkVersion="11" android:targetSdkVersion="26"/>

    </manifest> 

Актив add в основном проекте A активирует действие в проекте B следующим образом:

@Override
protected void onCreate(Bundle savedInstanceState) {
    // ......
    Intent intent = new Intent(activity, BActivity.class);
    activity.startActivity(intent);
}

А вот код в BActivity:

public class BActivity extends Activity {

    public static Activity activity = null;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        activity = this
        Log.d("BActivity", "onCreate");
        Log.d("BActivity", "onCreate: " + BActivity.activity.getPackageName());
        //......
    }
}

Результат вывода getPackageName равен com.test.a, в то время как я ожидаю com.test.b.

Похоже, что BActivity все еще считывает данные из файла androidmanifest.xml из проекта A.

Любое предложение будет оценено, спасибо:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...