私は数年間Eclipseに構築していたAndroidアプリケーションをAndroidスタジオに移植しました(私はAndroidスタジオとGradleを初めて使用していますので、私の無知を許してください)。私はそれを成功裏に移植しているとアプリが起動して実行のAndroid Studioのですが、今のカップルより多くの障害を克服する必要があります。Eclipseからの移植とAndroidライブラリのアップグレード
私は非推奨メソッドをアップグレードしても、サポートライブラリの最新バージョンに移動したいです、 GoogleサービスとGSon(必要に応じてGSonをアップグレードせずに暮らすことができると思います)。
問題を複雑にするために、私たちはソースコードを取り、いくつかのかなり複雑な置換えで、アプリケーションの多数の白いラベルのインスタンスを生成するAntベースのビルドを持っています。私はそれを維持するつもりです - 私はGradleにそれがまだ(そしてGradleがそれを扱うことができるかどうかわからない)したくありません。
だから、最初にそれが依存関係を次のしているように、ポートによって生成された私のGradleのようになります。
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "25.0.2"
defaultConfig {
applicationId "com.mydomain.myapp"
minSdkVersion 14
targetSdkVersion 23
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
}
dependencies {
compile 'com.android.support:support-v4:23.4.0'
compile 'com.google.code.gson:gson:2.2.4'
compile 'com.google.android.gms:play-services:+'
[....other dependencies that don't matter here....]
}
私の質問です:私はまだここにこれらのlibsのアップグレードバージョンを持っている必要がありますかありませんこれは、Androidスタジオを実行するための追加のGradle経由で行われますか?リストされているようなlib依存関係でなければ、Antビルドを作成したらどのようにこれらのアップグレードを選ぶことができますか?私は、生成されたソースコード構造がEclipseとは異なると思うという点でさらに複雑ですが、それに応じてAntビルドを調整できると思います。
は、私はこれらを読んでいると、便利ながら、実際にはかなり私の質問に答えていません。
と
感謝を!
UPDATE
ので遊んでのLOT後、私は最終的にモジュールとライブラリをアップグレードして、それが明らかに(私は多くのテストを行う必要があります)取り組んでいます。いつでも将来誰かを救うかどうかは分かりませんが、鍵は次のように見えます。
- compileSdkVersionとbuildToolsVersionのバージョンにマッチします。
- com.android.support:supportとコンパイルとツールのバージョンを可能な限り一致させてください。
- サポートライブラリでは、minSDKバージョンの直下のバージョンを選択してください(私の場合は14で、v13を選択しました)。私はそれが間違っているかもしれませんが、それが私のために働いているのです。
どのモジュールとどのバージョンのモジュールを持ち込み、互換性があるかに注意してください。このツールは警告をうながしましたが、プレイサービス全体を導入する場合は、私の非互換性がどこから来ているのかという理由から、その部分を引き出すことをお勧めします。これは今のようなものです:
apply plugin: 'com.android。アプリケーションの アンドロイド{ compileSdkVersion 25 buildToolsVersion '25 0.2' に混乱するために全体のサポートライブラリを見つけ、誰と混乱のために
defaultConfig { applicationId "com.mydomain.myapp" minSdkVersion 14 targetSdkVersion 23 compileOptions { sourceCompatibility JavaVersion.VERSION_1_7 targetCompatibility JavaVersion.VERSION_1_7 } } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' } } } dependencies { compile 'com.google.android.gms:play-services-maps:11.0.4' compile 'com.android.support:support-v13:25.3.1' compile 'com.google.code.gson:gson:2.7' }
(なぜ誰もがそれを思うだろう?)このブログました非常に参考:
http://martiancraft.com/blog/2015/06/android-support-library/
も感謝ガブリエレMariottiに正しい方向に私を指しているため。別の質問でホワイトレーベルの変換をGradleに取り上げます。私はこれがすべて間違っている場合にチャイムしてください...私はこれがすべて非常に混乱していることを認める最初になります!
ありがとうございました。特定のパッケージがサービスモジュールを再生するのを試みましたが、必要なものを特定する問題に遭遇しました。私はメカニズム全体がかなり混乱していることを知っています - コンパイル、ビルド、ターゲット、ライブラリのバージョンを整列しようとするのはちょっと複雑です。私はそれがすべて働いているときに私の質問を更新します。助けを感謝します! –