Для клиента мне нужно перенести старый проект Android Eclipse, который использует GoogleMaps V1, в Android Studio, чтобы можно было внести изменения и скомпилировать новый APK.Существует еще более старый APK-файл этого приложения, который был скомпилирован много лет назад, и после его установки я могу с уверенностью подтвердить, что он по-прежнему работает со всеми этими старыми материалами и GoogleMaps V1.
После создания нового проекта (и модулей) в Android Studio и копирование всех пакетов из проекта Eclipse (это мой предпочтительный способ переноса проектов E в AS) AS может разрешать все, кроме пакетов из API GoogleMaps V1, что приводит к ошибке:
error: package com.google.android.maps does not exist
Я попробовал все и следовал всем инструкциям в Интернете здесь, на SO, но ничего не помогло мне.
еще немного справочной информации:
Я фактически справился с этой миграцией как 1 или 2лет назад, но, к сожалению, у меня больше нет доступа к файлам, поэтому я понятия не имею, как я этого добился, и теперь я должен начать все заново.Тем не менее, из-за этого я предполагаю, что технически он все еще должен иметь работающий проект AS с GoogleMapsV1.Кстати, причина, по которой мне нужен V1, заключается в том, что у нас есть только API GoogleMapsV1.
проект build.gradle:
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.2.1'
}
}
allprojects {
repositories {
google()
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
app build.gradle:
apply plugin: 'com.android.application'
android {
compileSdkVersion 15
defaultConfig {
applicationId "some.id"
minSdkVersion 9
targetSdkVersion 15
versionCode 7
versionName "0.9.28.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
lintOptions {
checkReleaseBuilds false
// Or, if you prefer, you can continue to check for errors in release builds,
// but continue the build even when errors are found:
abortOnError false
}
signingConfigs {
debug {
storeFile file("/debug.keystore")
}
release {
storeFile file("/keystore")
}
}
buildToolsVersion '23.0.3'
}
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
compile project(':somelib')
compile 'com.google.android.gms:play-services:9.2.0'
compile 'com.google.android.gms:play-services-maps:9.2.0'
}
Манифест:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="some.package"
android:versionCode="6"
android:versionName="1.2.3.0"
android:installLocation="auto">
<uses-sdk android:targetSdkVersion="9"/>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>
<uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<uses-library android:name="com.google.android.maps" />
<!--
<uses-library android:name="some.lib" />
-->
<activity android:name="some.activity"
android:label="@string/app_name" android:icon="@drawable/icon" android:multiprocess="false" android:theme="@android:style/Theme.NoTitleBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<service android:enabled="true" android:name="some.service"
android:permission="android.permission.ACCESS_FINE_LOCATION"
android:icon="@drawable/icon"></service>
</application>
</manifest>