2020/1/6

Import and build Spydroid-ipcamera

clone spydroid-ipcamera 後,用 Android Studio import 完。
他會 convert 成Grandle Project.

然後出現 Error:
ERROR: Could not find com.android.tools.build:gradle:3.5.3.
Searched in the following locations:
  - https://jcenter.bintray.com/com/android/tools/build/gradle/3.5.3/gradle-3.5.3.pom
  - https://jcenter.bintray.com/com/android/tools/build/gradle/3.5.3/gradle-3.5.3.jar
Required by:
    project :
Add Google Maven repository and sync project
Open File
這是因為 grandle 之後的版本都在 google,不在 jcenter 了 (可以到 jcenter 去看)。
所以要照著他的說明,把 Google Moven repository 加到 build.gradle 的 repository 中..
buildscript {
    repositories {
        google()       --- 加上這個
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.5.3'
    }
}

allprojects {
    repositories {
        google()   --- 這個也加,是等一下 aapt error 時要改的
        jcenter()
    }
}
改完,Sync 後出現..
ERROR: Minimum supported Gradle version is 5.4.1. Current version is 4.8.

Please fix the project's Gradle settings.
Fix Gradle wrapper and re-import project
Open Gradle wrapper properties
Gradle settings
選 "Fix Gradle wrapper..." 那一項,會把grandle-wrapper.property 中的版本改為 5.4.1,繼續...
出現 ..
ERROR: The minSdk version should not be declared in the android manifest file. You can move the version from the manifest to the
defaultConfig in the build.gradle file.
Remove minSdkVersion and sync project
Affected Modules: app
選 "remove minSdkVersion..." 他會去 search minSdkVersion,找到AndroidManifest.xml,裡面有..
    
把這個刪掉..

那個自己產生的 build.grandle(Module:app) 內容是
apply plugin: 'com.android.application'

android {
    compileSdkVersion 19
    buildToolsVersion "29.0.2"

    defaultConfig {
        applicationId "net.majorkernelpanic.spydroid"
        minSdkVersion 14
        targetSdkVersion 19
    }

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

dependencies {
    compile files('libs/GoogleAdMobAdsSdk-6.1.0.jar')
    compile files('libs/acra-4.4.0.jar')
    compile files('libs/android-support-v4.jar')
    compile files('libs/gcm.jar')
    compile files('libs/sc-light-jdk15on-1.47.0.2.jar')
    compile files('libs/scpkix-jdk15on-1.47.0.2.jar')
    compile files('libs/scprov-jdk15on-1.47.0.2.jar')
}
SdkVersion 很重要,不能太新,因為裡面的 apache http module 在新版Sdk 已經拿掉了..
還有一堆 IOException class 也是。

所以可能要讓他出現 minSdkVersion Error 再刪AndroidManifest.xml,不然他沒辦法產生build.grandle正確的 sdk 版本。

沒有留言:

張貼留言