![](/img/trans.png)
[英]How to execute "Sync Project with Gradle Files" using Command line for a project?
[英]Creating and referencing a library for Android project (using command line and gradle)
我需要創建一個使用OpenCV庫的Android應用,並且我想僅使用命令行(linux)來執行此操作。 在開始之前,我想對創建使用庫的項目有一種感覺,但是在引用創建的示例庫時遇到了麻煩。 我可以構建默認的Android HelloWorld項目並在設備上運行它而不會出現問題,我只需要有關該庫的幫助即可。
我為應用程序和庫創建了一個根目錄和文件夾:
mkdir TestProject
mkdir TestProject/TestApp
mkdir TestProject/TestLib
然后,我創建了項目和庫:
android create project --target 1 --gradle --gradle-version 2.4 --name TestApp --path ~/Projects/TestProject/TestApp/ --activity MyActivity --package com.example.testapp
android create lib-project --target 1 --gradle --gradle-version 2.4 --name TestLib --path ~/Projects/TestProject/TestLib --package com.example.testlib
我在根目錄中添加了“ settings.gradle”,在“ settings.gradle”中include 'TestApp', 'TestLib'
我不確定在這里是否需要build.gradle文件。 我還將'TestLib'依賴項添加到'TestApp / build.gradle'文件中:
dependencies {
compile project(':TestLib')
}
如果我嘗試使用./TestApp/gradlew assembleDebug
和adb install /TestApp/build/output/apk/TestApp-debug.apk
構建我的項目,並且可以在手機上運行該應用程序(盡管有兩項活動,其中一項沒有無效),但我認為此設置不正確。
如果我嘗試在MyActivity.java中為TestApp導入庫...
package com.example.testapp;
import android.app.Activity;
import android.os.Bundle;
import com.example.TestLib;
public class MyActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}
我收到此錯誤:
/TestProject/TestApp/src/main/java/com/example/testapp/
MyActivity.java:5: error: cannot find symbol
import com.example.TestLib;
^
symbol: class TestLib
location: package com.example
1 error
:TestApp:compileDebugJava FAILED
我猜我沒有設置識別圖書館所需的內容。 也許我沒有正確創建庫。 我嘗試按照Google Android教程從命令行添加庫的方法,但是看起來它們使用的是Ant而不是Gradle。 我可能會嘗試這樣做,但是我聽說Gradle應該可以使我的生活更輕松。
編輯:
我曾經嘗試過使用Ant,但是我什至無法建立項目。 在我的項目目錄中運行ant debug install
之后,我收到以下錯誤:
BUILD FAILED
/home/steven/Libraries/android-sdk-linux/tools/ant/build.xml:649: The
following error occurred while executing this line:
/home/steven/Libraries/android-sdk-linux/tools/ant/build.xml:694:
Execute failed: java.io.IOException: Cannot run program
"/home/steven/Projects/WorkPlz/${aapt}": error=2, No such file or
directory
我終於能夠創建一個庫並在我的Android項目中使用它! 以下鏈接很有幫助:
https://docs.gradle.org/current/userguide/multi_project_builds.html
這整個過程使我明白了為什么大多數人只使用Ecipse或Adnroid Studio。 但是,如果其他人想嘗試一下,我將提供指向我的示例項目的鏈接。 它應該闡明一切工作原理。
示例項目: https : //drive.google.com/folderview?id = 0B2nWL2e8v6g-fnVuaEJHMWYyeGd5RXBIT0M5bjc5M3hPaHdnalJpNXVhVXRQVkVHZ2JtOEU&usp = sharing
現在我終於可以開始工作了!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.