Dam*_*ere 3 linux android cordova android-studio android-gradle-plugin
这个问题的标题是我能提供的最好的,这正是我想要做的:在32位Linux(特别是32位Ubuntu,运行适度最新的内核4.4.0-66-generic)上开发Android应用; 3G RAM)。
到目前为止我学到/尝试过的东西:
com.android.support:appcompat-v7:25为,com.android.support:appcompat-v7:19因此当我感到惊讶时得到的错误appcomat could not resolve com.android.support:appcompat-v7:19在那个阶段,Android Studio中弹出了一条通知,通知我不需要适用于sdk版本> 19的appcompat和构建工具<21(或类似的东西),然后我将其删除,com.android.support:appcompat-v7:19然后出现下一个错误是failed to resolve com.android.support:design:19
我尝试使用Google搜索任何专门针对在32位Linux上开发Android应用程序的说明/过程指南,但没有找到!
从我徘徊的Google迷途中,我偶然发现了Cordova,并且我喜欢它(也许是因为它基于CLI,并且我可以看到/控制所有内容,它甚至还具有--verbose选项,可以显示引擎盖下发生的所有事情),但是在阅读了我拼凑的其他文章以使其可以在32位Linux上进行构建之后,我仍然停留在构建阶段,因为当构建过程达到gradle阶段时,它顽固地坚持使用构建工具25.0.2,并且在我拼凑了有关如何设置构建工具版本的所有文章的过程中,我只是无法说服gradle使用已经完全安装(使用Android SDK Manager)的构建工具19。为了使gradle对我有用,我尝试<preference name="android-targetSdkVersion" value="19"/>在config.xml中进行设置,甚至cdvBuildToolsVersion=19在~/project_folder/platforms/android/gradle.properties 然而,通过在科尔多瓦的所有这些努力,我得到了丰厚的回报:
任务':preBuild'的执行失败。找不到构建工具版本19.0.0
建立失败
我只想在32位Ubuntu操作系统上设置一个简单,运行良好的Android开发环境!
请提供方向/指南/提示/帮助!
顺便说一句,请不要建议改用64位Linux ...至少暂时不要
遵循这个出色的64位教程之后,我设法使其在旧的Celeron PC上运行的32位Ubuntu Linux上100%正常工作。我创建了hellow orld应用,并在我的Samsung A5上运行了它。整个过程大约需要3到4个小时,因为我必须找出32位的东西。
版本号已过时,但很重要,因为当前版本不支持64位。
安装Oracle 8
sudo add-apt-repository ppa:webupd8team / java sudo apt更新; sudo apt install oracle-java8-installer javac -version(确认版本)sudo apt install oracle-java8-set-default
(将此Java版本设置为默认)
导出JAVA_HOME = / usr / lib / jvm / java-8-openjdk-i386导出PATH = $ {JAVA_HOME} / bin:$ PATH
安装adndroid SDK
Run Code Online (Sandbox Code Playgroud)curl -O https://dl.google.com/android/android-sdk_r21.0.1-linux.tgz tar zxf android-sdk_r21.0.1-linux.tgz curl -O https://dl.google.com/android/repository/build-tools_r21-linux.zip unzip build-tools_r21-linux.zip mkdir android-sdk-linux/build-tools mv android-5.0 android-sdk-linux/build-tools/21.0.1 curl -O https://dl.google.com/android/repository/android-16_r05.zip unzip android-16_r05.zip mv android-4.1.2 android-sdk-linux/platforms/android-16 curl -O https://dl.google.com/android/repository/platform-tools_r21-linux.zip unzip platform-tools_r21-linux.zip -d android-sdk-linux/
Run Code Online (Sandbox Code Playgroud)cd ~ mkdir android cd android mkdir helloworld cd helloworld
Run Code Online (Sandbox Code Playgroud)<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="net.gavin.hello" versionCode="1" versionName="0.1"> <uses-sdk android:minSdkVersion="16"/> <application android:label="Hello"> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity> </application> </manifest>
Run Code Online (Sandbox Code Playgroud)cd ~/android/helloworld mkdir res cd res mkdir layout cd layout
Run Code Online (Sandbox Code Playgroud)<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" android:orientation="vertical"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/my_text"/> </LinearLayout>
Run Code Online (Sandbox Code Playgroud)cd ~ mkdir java cd java mkdir net cd net mkdir gavin cd gavin mkdir hello
9.按如下方式创建“ MainActivity.java”
package net.gavin.hello;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
public class MainActivity extends Activity
{
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView text = (TextView)findViewById(R.id.my_text);
text.setText("Hello, world!");
}
}
Run Code Online (Sandbox Code Playgroud)
创建构建环境
cd〜SDK =“ $ {HOME} / android-sdk-linux” BUILD_TOOLS =“ $ {SDK} /build-tools/21.0.1” PLATFORM =“ $ {SDK} / platforms / android-16” mkdir -p build / gen build / obj build / apk
创建R.java(build / gen / net / gavin / hello / R.java)
“ $ {BUILD_TOOLS} / aapt”包-f -m -J build / gen / -S res -M AndroidManifest.xml -I“ $ {PLATFORM} /android.jar”
编译它
javac -source 1.7 -target 1.7 -bootclasspath“ $ {JAVA_HOME} /jre/lib/rt.jar” \ -classpath“ $ {PLATFORM} /android.jar” -d build / obj \ build / gen / net / net / gavin /你好/R.java java / net / gavin / hello / MainActivity.java
转换为Dalvik代码
“ $ {BUILD_TOOLS} / dx” --dex --output = build / apk / classes.dex build / obj /
一起包装内容
“ $ {BUILD_TOOLS} / aapt”软件包-f -M AndroidManifest.xml -S res / \ -I“ $ {PLATFORM} /android.jar” \ -F build / Hello.unsigned.apk build / apk /
对齐4字节边界
"${BUILD_TOOLS}/zipalign" -f 4 build/Hello.unsigned.apk build/Hello.aligned.apk
keytool -genkeypair -keystore keystore.jks -alias androidkey \
-validity 10000 -keyalg RSA -keysize 2048 \
-storepass android -keypass androidsudo apt-get install apksigner"apksigner" sign --ks keystore.jks \
--ks-key-alias androidkey --ks-pass pass:android \
--key-pass pass:android --out build/Hello.apk \
build/Hello.aligned.apk"${SDK}/platform-tools/adb" install -r build/Hello.apk"${SDK}/platform-tools/adb" shell am start -n net.gavin.hello/.MainActivity注意:19和20假定您已将手机设置为开发人员模式,并且已通过USB连接到PC。在这种情况下,我只是将它通过ftp下载到我的手机中,然后从那里安装。没问题。
| 归档时间: |
|
| 查看次数: |
6951 次 |
| 最近记录: |