Android Studio导入项目的几个问题

Android Studio导入项目的几个问题_第1张图片

Android Studio导入同事项目遇到的8个问题如下:


1、tclwidget模块的TCLMusicController、TCLVideoController类中event.isDown()问题:
原因:此方法已过时,并被hide了
解决:换成event.getAction() == KeyEvent.ACTION_DOWN
2、解决问题1出现的问题——一大片“找不到符号”的问题:
如:错误: 找不到符号             mPkgmanager.deletePackage(packageName, observer, 0);                        ^   符号:   方法 deletePackage(String,AppUninstallFragment.PackageDeleteObserver,int)   位置: 类型为PackageManager的变量 mPkgmanager
解决:app的build.gradle中添加如下java8支持:

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

3、解决问题2出现的问题——Jack问题:
ERROR: Jack is required to support java 8 language features. Either enable Jack or remove sourceCompatibility JavaVersion.VERSION_1_8.
解决:升级根目录下的build.gradle的com.android.tools.build:gradle工具为3.0.0
4、解决问题3出现的问题——输出文件统一命名问题:
Cannot set the value of read-only property 'outputFile'
解决:修改app的build.gradle中内容,
    variant.outputs.each改为variant.outputs.all
    output.outputFile = new File(outputFile.parent, fileName)改为outputFile = fileName
5、解决问题4出现的问题:分渠道打包问题
ERROR: All flavors must now belong to a named flavor dimension.
解决:在app的build.gradle中添加flavorDimensions "ProductFeature",并在每个渠道里添加dimension "ProductFeature"
6、解决问题5出现的问题:AAPT2问题:
如:com.android.tools.aapt2.Aapt2Exception: AAPT2 error
解决:gradle 3.1中AAPT2是默认打开的,需要在项目根目录新建文件gradle.properties,并在其中添加android.enableAapt2=false,sync后就编译通过了。
7、解决问题6出现的问题:id命名问题:
Execution failed for task ':app:processChineseDebugResources'. 
...
int tvosid left_RelativeLayout2 0x7f0e0000'
原因:tclwidget模块的tcl_menu.xml文件的left_RelativeLayout2属性id问题
解决:@+tvosid改为@+id
8、解决问题7出现的问题:RecyclerViewDemoActivity问题
错误: 找不到符号 符号:   类 RecyclerViewDemoActivity 位置: 类 MainActivity
解决:参考最新代码,修改RecyclerViewDemoActivity.class为HelpActivity.class


至此,解决所有问题,Make Project能在app-build-outputs下生成apk文件。
最困难的问题是问题2,其次是问题6和问题3,其他都很好解决。解决问题2的参考——https://stackoverflow.com/questions/33404552/execution-failed-for-task-appcompiledebugjavawithjavac-in-android-studio

你可能感兴趣的:(Android)