IDEA的使用
Gradle
- 自动给debug编译加上后缀
1 2 3 4 5 6 7 8 9 10 11 12
| buildTypes { debug { debuggable true applicationIdSuffix ".debug" versionNameSuffix "-debug" } release { minifyEnabled true shrinkResources true proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } }
|
- 只编译armV8原生库
1 2 3 4 5
| defaultConfig { ndk { abiFilters 'arm64-v8a' } }
|
- Kotlin生成可执行jar包
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| application { mainClassName = 'MainKt' }
jar { duplicatesStrategy = DuplicatesStrategy.EXCLUDE manifest { attributes["Main-Class"] = "MainKt" } from { (configurations.runtimeClasspath).collect { it.isDirectory() ? it : zipTree(it) } } }
|
- Gradle控制台中文乱码
在IDEA菜单栏点击:help->Edit Custom VM Options,在打开的文件中追加:
然后重启IDEA生效。
- 自定义Gradle home路径
添加环境变量GRADLE_USER_HOME
并设置值为目标路径
- Gradle全局镜像站
1 2 3 4 5 6 7 8 9
| allprojects{ repositories { maven { url = uri("https://maven.aliyun.com/repository/public/") } mavenCentral() } }
|
Android中使用Rust
在Cargo安装目录下编辑Config.toml
,新增以下内容
1 2 3
| [target.aarch64-linux-android] ar = ".../llvm-ar.exe" linker = ".../aarch64-linux-android<version>-clang.cmd"
|
编译Android Java文件为C头文件
1
| javac -cp .../AndroidSDK/platforms/android-<version>/android.jar -h . ./ndk.java
|
当编译选项启用lto后,链接失败
找到aarch64-linux-android-clang.cmd文件修改
1
| if "%1" == "-cc1" goto :L
|
为
1
| if "%~1" == "-cc1" goto :L
|
使用IDEA动态调试smail
1 2 3 4
| adb forward tcp:<port> jdwp:<pid> adb shell am set-debug-app -w <package> adb shell am clear-debug-app adb shell dumpsys activity | grep :<package>
|