как писать приложения под Android
У меня есть два файла:
Main.java Main.class
Как я могу получить из этого Main.apk?
здесь я новичок, использую windows 7.
Можно ли это провернуть без android studio ? (комп слабоват)
Цель: писать приложения под Android
прошу направить меня
Ответы (1 шт):
Автор решения: SurfaceStack
→ Ссылка
При желании приложение можно написать через блокнот. Вот пример, если папка приложения (myApp) размещается на Рабочем столе:
- В папке
myAppсоздаём ещё четыре папки:bin,obj,res,src; - Здесь же создаём файл
AndroidManifest.xmlвот такого содержания:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.testapp">
<uses-sdk android:targetSdkVersion="23" />
<application
android:label="TestApp">
<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>
- В папку
resдобавляем папкуvaluesс файломstrings.xmlтакого содержания:
<resources>
<string name="hello">Hello myApp</string>
</resources>
- Создаём в папке
srcдругие папки:com=>example=>testapp; - В папке
testappсоздаём файлMainActivity.javaтакого содержания:
package com.example.testapp;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView textView = new TextView(this);
textView.setText(getString(R.string.hello));
setContentView(textView);
}
}
- В папке
myAppсоздаём "сборщик" файлbuilder.bat:
set JAVA_HOME=C:\Users\Username\Desktop\jdk //обычно отличается :)
set ANDROID_HOME=D:\AndroidStudioSDK //отличается
set DEV_HOME=%CD%
set AAPT_PATH=%ANDROID_HOME%/build-tools/30.0.2/aapt.exe //может отличаться
set DX_PATH=%ANDROID_HOME%/build-tools/30.0.2/dx.bat //может отличаться
set ANDROID_JAR=%ANDROID_HOME%/platforms/android-23/android.jar //также может отличаться
set ADB=%ANDROID_HOME%/platform-tools/adb.exe
set PACKAGE_PATH=com/example/testapp
set PACKAGE=com.example.testapp
set MAIN_CLASS=MainActivity
REM create R.java
call %AAPT_PATH% package -f -m -S %DEV_HOME%/res -J %DEV_HOME%/src -M %DEV_HOME%/AndroidManifest.xml -I %ANDROID_JAR%
REM compiling java classes
call %JAVA_HOME%/bin/javac -d %DEV_HOME%/obj -cp %ANDROID_JAR% -sourcepath %DEV_HOME%/src %DEV_HOME%/src/%PACKAGE_PATH%/*.java
REM converting *.class
call %DX_PATH% --dex --output=%DEV_HOME%/bin/classes.dex %DEV_HOME%/obj
REM packing APK
call %AAPT_PATH% package -f -M %DEV_HOME%/AndroidManifest.xml -S %DEV_HOME%/res -I %ANDROID_JAR% -F %DEV_HOME%/bin/AndroidTest.unsigned.apk %DEV_HOME%/bin
REM signing APK
call %JAVA_HOME%/bin/keytool -genkey -validity 10000 -dname "CN=AndroidDebug, O=Android, C=US" -keystore %DEV_HOME%/AndroidTest.keystore -storepass android -keypass android -alias androiddebugkey -keyalg RSA -keysize 2048
call %JAVA_HOME%/bin/jarsigner -sigalg SHA1withRSA -digestalg SHA1 -keystore %DEV_HOME%/AndroidTest.keystore -storepass android -keypass android -signedjar %DEV_HOME%/bin/AndroidTest.signed.apk %DEV_HOME%/bin/AndroidTest.unsigned.apk androiddebugkey
pause
- Если хочется использовать ADB для установки на устройство (у меня не всегда работало), добавляем в
builder.batэтот код:
set ADB=%ANDROID_HOME%/platform-tools/adb.exe
REM using ADB
call %ADB% uninstall %PACKAGE%
call %ADB% install %DEV_HOME%/bin/AndroidTest.signed.apk
call %ADB% shell am start -n %PACKAGE%/%PACKAGE%.%MAIN_CLASS%
- Структура папки
myAppпри выполнении командыtree C:/Users/Username/Desktop/myApp /FвWindows:
C:\USERS\USERNAME\DESKTOP\MYAPP
│ AndroidManifest.xml
│ builder.bat
│
├───bin
├───obj
├───res
│ └───values
│ strings.xml
│
└───src
└───com
└───example
└───testapp
MainActivity.java
- После запуска файла
builder.batв папкеbinпоявится файлAndroidTest.signed.apk- приложение, которое можно установить на устройство.
P.S. Может стоит попробовать Eclipse?