雖然說明說,就用 studio 開啟project 然後 build 就可以了,結果 fail,說 :app task 少一個...wrapper (?)
只好用手動,參考 tools 下的 script,是 call project 下的 gradlew 來 build 的,
奇怪 run build_all_android... 卻沒有 build,手動 run build_android_app.sh + example_path 也一樣,一直說沒有 gradlw。
手動的話,就是到 project 下 run
./gradlew assembleRelease有碰到兩個 error,一個說沒有 ANDROID_SDK_ROOT 變數,就 export 一下,指定到 Sdk folder
另外一個說沒有需要的 Ndk 版本 (跟有安裝的不一樣),所以參考這一篇,安裝特定版本的 Ndk 後,就 OK 了。
使用 studio 開啟 'android' folder 是可以 build 的,但是一旦接受建議,把 gradlew 從 4.0 升級到 7.0 之後,就有 error 了。
遵照這一頁:Allow insecure protocols, android gradle,修改的話...
diff --git a/lite/examples/object_detection/android/build.gradle b/lite/examples/object_detection/android/build.gradle index 8ccd3140..b820d78d 100644 --- a/lite/examples/object_detection/android/build.gradle +++ b/lite/examples/object_detection/android/build.gradle @@ -7,7 +7,7 @@ buildscript { mavenLocal() } dependencies { - classpath 'com.android.tools.build:gradle:4.0.0' + classpath 'com.android.tools.build:gradle:7.0.3' classpath 'de.undercouch:gradle-download-task:4.0.2' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files @@ -19,6 +19,7 @@ allprojects { google() mavenCentral() maven { + allowInsecureProtocol = true name 'ossrh-snapshot' url 'http://oss.sonatype.org/content/repositories/snapshots' }第一個 diff 是 studio upgrade 時改的,第二格是要自己加的。
加完後,重新 build 就 OK了。
.. 但是用 studio build 真的比較久,build 完電腦還當機。
用 command line 比較快。
認真看一下 error message:
Could not resolve all dependencies for configuration ':app:taskApiDebugRuntimeClasspath'. Using insecure protocols with repositories, without explicit opt-in, is unsupported. Switch Maven repository 'ossrh-snapshot(http://oss.sonatype.org/content/repositories/snapshots)' to redirect to a secure protocol (like HTTPS) or allow insecure protocols. SeeallowInsecureProtocol
for more details.
大部分的 project 都只需要改這些 build.gradle ,有些要改manifest。為了方便,fork 一份到自幾的 github,其中 branch: gradle7 就是為了新版 android studio 的新版 gradle 修改的
沒有留言:
張貼留言